有人能告诉我这里的主要区别是什么,以及为什么后者不起作用吗?
但在这种情况下:
test="ls -l"
现在两者都可以正常工作:
eval $test
echo `$test`
但在这种情况下:
test="ls -l >> test.log"
eval $test
echo `$test`
后者不起作用。为什么呢?我知道eval只是执行一个脚本,而单引号则执行它并将结果作为字符串返回。是什么让在要执行的命令中使用>>
或类似的东西变得不可能?也许有一种方法可以使它与单引号一起工作,我做错了些什么吗?