$ foobar
sh: foobar: not found
$ foobar 2>/dev/null
$
我试图重定向只foobar的的标准错误(如果存在foobar的,可以运行),但外壳的错误信息被重定向了。 这发生在bash和ksh和sh,而不是在csh。 我不熟悉Bourne shell的源代码,但我想这是因为shell首先叉,然后重定向,然后试图EXEC(),并在执行exec()失败,它发送一个错误信息已经被重定向标准错误。
$ foobar
sh: foobar: not found
$ foobar 2>/dev/null
$
我试图重定向只foobar的的标准错误(如果存在foobar的,可以运行),但外壳的错误信息被重定向了。 这发生在bash和ksh和sh,而不是在csh。 我不熟悉Bourne shell的源代码,但我想这是因为shell首先叉,然后重定向,然后试图EXEC(),并在执行exec()失败,它发送一个错误信息已经被重定向标准错误。
如果foobar的是一些可执行文件,然后尝试: -
$ ./foobar
sh: foobar: not found
$ ./foobar 2>/dev/null #alternatively you can use full path.
$