我试图从shell脚本中的变量运行命令.正在使用的shell是bash shell.
该文件exp包含:
abcdef
Run Code Online (Sandbox Code Playgroud)
执行以下命令:
sed s/b/\ / exp
Run Code Online (Sandbox Code Playgroud)
...产生输出:
a cdef
Run Code Online (Sandbox Code Playgroud)
但执行:
cmd="sed s/b/\ / exp"
echo $cmd
$cmd
Run Code Online (Sandbox Code Playgroud)
...产生以下错误:
sed s/b/\ / exp
sed: -e expression #1, char 5: unterminated `s' command
Run Code Online (Sandbox Code Playgroud)
我可以看到eval在执行前添加工作.但我不明白为什么.你能解释一下为什么一种方法有效而另一种方法不起作用?