我需要执行命令,我需要显示我执行了哪个命令。所以我一直在尝试将命令存储在变量中并执行该变量。在显示输出时,我正在打印如下的变量值。如何在执行命令之前回显命令行?
var="ls -ltr";
echo "$var \n `$var`";
上面一个是给输出我想要的,但是当我使用的是下面提及的命令,它扔我一个error.can有人建议我如何存储下文提到的命令。
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
必备链接:http://mywiki.wooledge.org/BashFAQ/050 –
真的**双重阅读**上述链接。在变量中存储命令几乎在所有情况下都是错误的想法...... – jm666
@tripleee:这个问题是关于在执行它之前想要回应任意命令行。链接的问题是关于为什么由shell扩展引起的引号没有语法意义。虽然有一些关系,但它们不是重复的。 – mklement0