小编典典

如何将命令存储在 shell 脚本的变量中?

all

我想将稍后使用的命令存储在变量中(不是命令的输出,而是命令本身)。

我有一个简单的脚本如下:

command="ls";
echo "Command: $command"; #Output is: Command: ls

b=`$command`;
echo $b; #Output is: public_html REV test... (command worked successfully)

但是,当我尝试一些更复杂的东西时,它会失败。例如,如果我使

command="ls | grep -c '^'";

输出是:

Command: ls | grep -c '^'
ls: cannot access |: No such file or directory
ls: cannot access grep: No such file or directory
ls: cannot access '^': No such file or directory

如何将这样的命令(使用管道/多个命令)存储在变量中以供以后使用?


阅读 84

收藏
2022-08-24

共1个答案

小编典典

使用评估:

x="ls | wc"
eval "$x"
y=$(eval "$x")
echo "$y"
2022-08-24