我将尝试在Bash Shell中使用变量运行命令。以下是需要执行的命令:
执行以下命令:
"...产生输出:"
但执行:
...会产生以下错误:
exp
文件包含以下内容:abcdef
执行以下命令:
sed s/b/\ / exp
"...产生输出:"
a cdef
但执行:
cmd="sed s/b/\ / exp"
echo $cmd
$cmd
...会产生以下错误:
sed s/b/\ / exp
sed: -e expression #1, char 5: unterminated `s' command
我可以看到在执行前添加eval
是有效的。但我无法理解为什么。你能解释一下为什么一个方法有效而另一个方法无效吗?
sed
本身的解释上。请看我的答案。 - fedorqui