在简单命令中,有没有“” 都一样,比如:
- cmd=“cat abc.txt"
- eval $cmd
与 eval “$cmd”
但是当 参数展开后包括 换行的时候,加”“ 会得到正确结果。比如:
- cat abc.txt
-
echo "first line"
echo "second line"
pwd
echo "last line"
-
echo "first line"
- eval $(cat abc.txt)
#参数命令输出的第一行被执行了,其他的作为第一行的参数 - first line echo second line pwd echo last line
- eval “$(cat abc.txt)"
-
first line
second line
/Users/bodong/workshop
last line
-
first line
参考: