此命令中的 2>&1 是什么意思?

cod*_*boy 69 command-line io-redirection wget

我知道这个命令试图写入无处或空设备,但2>&1这里是什么意思?

wget -q -O - http://yourwebsite.com/wp-cron.php?doing_wp_cron > /dev/null 2>&1
Run Code Online (Sandbox Code Playgroud)

dg9*_*g99 117

2指的是进程的第二个文件描述符,即stderr.

> 表示重定向。

&1意味着重定向的目标应该与第一个文件描述符位于相同的位置,即stdout.

所以> /dev/null 2>&1首先重定向stdout/dev/null然后stderr也重定向到那里。这有效地使命令的所有输出(常规或错误)静音wget

::edit::是一个很好的快速参考。

  • 可能还值得注意的是,通常使用习语 `&>/dev/null` 实现相同的语义 (8认同)