1

私にとっては一日が遅いか、ここで素朴なものが欠けています。

ここに不自然な例があります

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

このスクリプトをシェルで実行すると、">" 演算子が原因であると思われるエラーが発生します。とにかく、シェルスクリプト内から出力をリダイレクトできます。これは非常に簡単だと思いました:

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 (およびほとんどのシェル) の特殊文字です。コマンドには属しません。

于 2012-05-02T00:52:04.950 に答える
2

を使用してそれを行う別の方法を次に示しますeval

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