例如,我一直试图在我的脚本文件中说“目前有 10 人在线”。
如果没有下一行的“此时此刻在线的人”部分,我似乎永远无法让该命令正常工作。
此刻,我有
w='who | wc -l'
echo "There are $w people online at the moment"
但是,我总是得到输出
There are who | wc -l users online at the moment
如何让命令在中间工作?我一直在尝试查看和复制示例,但它似乎对我的命令替换问题没有帮助。
答案1
你想要的输出
who | wc -l
分配给w
,而不是那个字符串,这是由于它周围的引号而得到的。您应该使用命令替换$(...)
:
w=$(who | wc -l)
echo "There are $w people online at the moment"
(您也可以使用反引号,但不能轻松嵌套它们)。
答案2
另一个解决方案:
echo There are $(who | wc -l) people online at the moment
答案3
你应该使用反引号来执行命令
w=`who | wc -l` echo "There are $w people online at the moment"