对我来说当天是晚了,或者我在这里错过了一些天真的东西。
这是一个人为的例子
#!/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
答案 0 :(得分:4)
#!/bin/bash
command="ls -al"
$command > check.txt
>
是Bash(和大多数shell)中的特殊字符。它不属于命令。
答案 1 :(得分:2)
以下是使用eval
,
#!/bin/bash
command="ls -al > check.txt"
eval $command