1

对我来说已经很晚了,或者我在这里错过了一些天真的东西。

这是一个人为的例子

#!/bin/bash
command="ls -al > check.txt"
$command

当我在 shell 上运行这个脚本时,它给了我错误,我猜是由于 ">" 运算符。无论如何,我可以从 shell 脚本中重定向输出。我认为这很简单:

ls -la > temp.txt
ls: cannot access >: No such file or directory
ls: cannot access temp.txt: No such file or directory
4

2 回答 2

4
#!/bin/bash
command="ls -al" 
$command > check.txt

>是 Bash(和大多数 shell)中的特殊字符。它不属于命令。

于 2012-05-02T00:52:04.950 回答
2

这是另一种使用方法eval

#!/bin/bash
command="ls -al > check.txt"
eval $command
于 2012-05-02T01:55:45.743 回答