bash – 2 in 2> / dev / null是什么意思

在下面的bash脚本中,我不明白这意味着什么:

function kill_process()
{
   kill -9 $(lsof -i:$1 -t) 2> /dev/null
}

我可以看到它将输出重定向到空设备但是2是什么意思?

最佳答案
N> Bash中的语法意味着将文件描述符重定向到其他地方. 2是stderr的文件描述符,此示例将其重定向到/ dev / null.

这意味着简单来说:忽略命令的错误输出.例如,如果kill无法停止进程,因为它不存在,或者因为当前用户没有这样做的权限,它会在stderr上打印消息.通过将stderr重定向到/ dev / null,可以有效地抑制这些消息.

转载注明原文:bash – 2 in 2> / dev / null是什么意思 - 代码日志