测试远程访问,我有以下命令来检查,如果远程客户端许可证使用ssh登录,而无需通过使用ssh
ssh -o PasswordAuthentication=no \
[email protected]$REMOTE_HOST_IP 1>/dev/null 2>/dev/null
,执行指令,如果permission=no
我在代码的其余部分设置权限。顺便说一句,“许可被拒绝的消息被发送到/ dev/null”。但是当我第二次执行我的命令时,这一次permission=yes
和我必须登录到机器,但它挂起,因为我认为没有错误或输出。因为我试过它,就像我获得代码权限一样;
ssh -o PasswordAuthentication=no [email protected]$REMOTE_HOST_IP
这次工作。
那么,如何安排它发送错误消息的第一时间,而不是在休息
编辑发:我可以解释简单,我的questin是,说我在我的脚本命令可以给出错误我第一次运行我的脚本,所以我不希望看到erorrs和输出,我运行它
command 1>/dev/null 2>/dev/null(it is in my script)
当我运行脚本第二次,该命令将不给错误和输出becaue我做了一些操作,所以它没有错误。但是当它第二次运行时,它会挂起/ dev/null(我认为是这样)。因为当它在没有/ dev/null的情况下运行时,它工作正常
第一个命令中没有输出或错误消息,因为您将STDOUT和STDERR都发送到/ dev/null,这是数据接收器,所有内容都被丢弃。 我不明白你的问题的其余部分。请澄清。 – mpe 2012-08-14 09:29:31
@mpe是没有错误信息在我发送的第一个原因。但在deffaault它必须给予权限被拒绝的消息,所以我发送到dev null.at我有权限的脚本的其余部分。当我第二次运行脚本。该命令挂起因为没有错误消息,因为我有证书到达client.so我需要第二次工作命令 – barp 2012-08-14 09:33:01
注意:'>/dev/null 2>&1'是'1>/dev的常见习惯用法/ null 2>/dev/null'。在极少数情况下,我会使用'>& - 2> & -';这实际上会关闭fd 1和2 - 但谨慎使用 - 不是所有类似的命令。 – 2012-08-14 11:19:48