2

我最近在我的 .bashrc 文件中添加了一个 ssh-add 命令。我找到

ssh-add $HOME/.ssh/id_rsa_github > /dev/null

每次打开 shell 时都会显示一条消息“添加了身份和其他内容”。

尽管

ssh-add $HOME/.ssh/id_rsa_github > /dev/null 2>&1

成功了,我的外壳现在“干净”了。

在互联网上阅读,我发现其他命令可以做到这一点,(例如time)。你能解释一下为什么这样做吗?

4

1 回答 1

1

当您将输出从一个进程重定向到另一个进程时,例如通过管道

$ procA | procB | procC

通常使用标准输出来完成。我希望time和类似的命令输出到 stderr 以避免损坏此流。如果您正在使用时间,那么您就是在诊断问题,并且您不想无意中为下游流程提供额外的输入。

本文包括一些进一步的细节和一些关于此的历史。

于 2012-07-04T09:12:33.977 回答