如何继续一个带有命令的句子

如何继续一个带有命令的句子

例如,我一直试图在我的脚本文件中说“目前有 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"

相关内容