【发布时间】:2017-04-13 13:19:07
【问题描述】:
我需要执行命令,我需要显示我执行了哪个命令。所以我一直在尝试将命令存储在变量中并执行该变量。在显示输出时,我正在打印变量值,如下所示。
var="ls -ltr";
echo "$var \n `$var`";
上面一个是我想要的输出,但是当我使用下面提到的命令时,它给我一个错误。有人可以建议我如何存储下面提到的命令。
var="ls -ltr|wc -l";
echo "$var \n `$var`";
输出错误:
ls -ltr | wc -l
ls: cannot access |: No such file or directory
ls: cannot access wc: No such file or directory
将命令存储在变量中的正确方法是什么,如下面的命令。或给我任何替代建议来满足我的要求。
cat passwd.txt|tr ' ' '\n'|egrep -i "$pwd_in"|sort
【问题讨论】:
-
真的仔细阅读上面的链接。在变量中存储命令,几乎在所有情况下都是错误的想法......
-
@tripleee:这个问题是关于想要在执行任意命令行之前回显它。链接的问题是关于为什么由 shell 扩展产生的引号没有语法意义。虽然存在某种关系,但它们不是重复的。
-
还不错;感谢您的反馈。对于历史背景,我建议的重复问题是stackoverflow.com/questions/12136948/…