Hac*_*chi 2 linux bash io-redirection
背景:
我想在受限制的bash的修改环境中测试一些bash脚本.在受限制的bash中,我不允许将流重定向到文件,例如2>/dev/null
我通过简单地用例如关闭流来找到解决方法2>&-
在这里和那里尝试时,我发现没有有效的区别2>/dev/null和2>&-
STDERR输出被吞没并且不会出现.
$ bash -c 'ls FOO'
ls: cannot access FOO: No such file or directory
$ bash -c 'ls FOO 2>/dev/null'
$ bash -rc 'ls FOO 2>/dev/null'
bash: /dev/null: restricted: cannot redirect output
$ bash -rc 'ls FOO 2>&-'
$ bash -rc 'ls FOO 2>&- ; ls BAR'
ls: cannot access BAR: No such file or directory
Run Code Online (Sandbox Code Playgroud)
我猜bash中的处理是不同的,但这对我来说并不重要.对我来说重要的是,一般关闭而不是重定向到/ dev/null会导致任何问题吗?