我想用redirect和/或pipe道做一个bash命令string,并用它来显示命令string或执行命令string。 一个简单的命令没有redirect或pipe道工程,但一串命令与redirect或pipe道不。 例如,
command="echo 1" $command echo "$command"
会显示
1 echo 1
然而,
command="echo 1 | cat" $command echo "$command"
会显示
1 | cat echo 1 | cat
但我想要
1 echo 1 | cat
类似的redirect,
command="echo 1 | cat > 1.out" $command echo "$command"
会显示
1 | cat > 1.out echo 1 | cat > 1.out
但我想要
echo 1 | cat > 1.out
用一个名为“1.out”的新文件,内容为1。
有没有办法实现我想要的?
如果你希望shell将字符串作为一个命令来计算,那就告诉它:
eval "$command" echo "$command"