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