如何从管道数据创建变量

如何从管道数据创建变量

我使用的命令是:ls -l . | totLines=$(wc -l) echo $totLines。我的目标是显示总行数,但通过分配wc -l变量名称的输出,然后显示该变量的值。然而这不起作用。wc -l在从上一个命令获取正在处理的行后,如何从输出中创建变量ls

答案1

在这种情况下,你的管道不会进入你的内壳,所以你会想要

totLines=$(ls -l . | wc -l)
printf '%s\n' "$totLines"

做你在这里尝试的事情。不过,在这种情况下,该-l .部分实际上并没有多大区别,因此您可以将其保留。另外,请注意,如果您的任何文件名包含新行,您将以这种方式得到错误的计数。

相关内容