如何根据变量内容控制进程输出重定向?我尝试过以下但它将$redirect的内容视为文件名而不是重定向.
$redirect="2>&1 >/dev/null" $ls -la $redirect ls: cannot access 2>&1: No such file or directory $redirect="" $ls -la $redirect total 376 drwx------ 1 wakatana users 4096 Feb 5 15:32 . drwx------ 1 wakatana users 4096 Feb 2 18:44 .. -rw------- 1 wakatana users 390 Feb 5 13:34 .bashrc
解决方法
如果您接受更改命令的顺序,则可以使用别名来实现所需的方法.别名通常是不受欢迎的,并且如Bash手册中所述,对于几乎所有目的,别名都被shell函数所取代.
看来我们几乎违约了:
$alias redirect='2>&1 > /dev/null' $redirect ls $
并没有评估.