例如,我一直试图在我的脚本文件中说“目前有10个人在线”。
如果没有下一行的“当前在线人员”部分,我似乎永远无法使命令正常工作。
此刻,我有
w='who | wc -l'
echo "There are $w people online at the moment"
但是,我总是以输出结束
There are who | wc -l users online at the moment
您如何在中间使用命令?我一直在尝试查找和复制示例,但这似乎无济于事我的命令替换问题。
例如,我一直试图在我的脚本文件中说“目前有10个人在线”。
如果没有下一行的“当前在线人员”部分,我似乎永远无法使命令正常工作。
此刻,我有
w='who | wc -l'
echo "There are $w people online at the moment"
但是,我总是以输出结束
There are who | wc -l users online at the moment
您如何在中间使用命令?我一直在尝试查找和复制示例,但这似乎无济于事我的命令替换问题。
Answers:
您想要的输出
who | wc -l
分配给w,而不是分配给该字符串,这是您获得的,因为它周围有引号。您应该使用命令替换$(...):
w=$(who | wc -l)
echo "There are $w people online at the moment"
(您也可以使用反引号,但不能轻松地将其嵌套)。
$()自己;-)
您应该使用反引号执行命令
w=`who | wc -l`
echo "There are $w people online at the moment"
$(...)优先于反引号 ...