以下命令有什么区别?
ssh myhostname "command1; command2;...commandn;" 2>/dev/null
ssh myhostname "command1; command2;...commandn;"
2>
是什么意思?/dev/null
是什么意思?我在某处读到命令的结果将写入文件/dev/null
而不是控制台!对吗?文件名null
对我来说似乎很奇怪!
2>
表示"重定向标准错误"到给定文件。
/dev/null
是空文件。 写入它的任何内容都将被丢弃。
它们合在一起的意思是"扔掉任何错误消息"。
1 是 stdout。 2 是 stderr。
然后有时你会发现2>&1
,这意味着将stderr重定向到stdout。
/dev/null
本质上意味着"进入虚空",被丢弃。 您提到的2
是指错误输出,它应该指向何处。
2> 表示向某物发送标准错误
/dev/null 表示一个垃圾箱
1)将标准错误的所有内容都通过管道传输到/dev/null(因此忽略它并且不显示它)
2)Dev null 只是指向无处,通过管道传输任何东西,它就会消失。