shell “grep我的名字/etc/passwd>& /dev/null”是什么意思?

gcuhipw9  于 2023-01-17  发布在  Shell
关注(0)|答案(1)|浏览(171)

我在shell脚本书的例子中看到了这段代码。
情况1. grep myname /etc/passwd > /dev/null表示文件/etc/passwd中有grep myname,但屏幕上没有输出。
情况2. grep myname /etc/passwd >&2表示文件/etc/passwd中的grep myname并输出到标准错误。
案例3. grep myname /etc/passwd >& /dev/null
在这种情况下,redirection〉后面的“&”是什么意思?

ht4b089n

ht4b089n1#

bash中,它同时表示STDOUTSTDERR
就像是:

cmd >& file

相当于

cmd >file 2>&1

但前者仅为bashcsh
您还可以使用特殊的bash语法来传输STDERRSTDOUT

<STDIN> |& <PROCESS STDOUT|STDERR>

相关问题