我有一個問題,我希望有人能幫助用...的Perl - STOP錯誤出現在命令行輸出
我在做什麼:
我有在執行以下命令反引號一個簡單的foreach循環並保存命令輸出到一個變量,然後我該變量執行的字符串匹配操作:
$ciphertestoutput = `echo -n | openssl s_client -cipher $tlsCipher -connect $ipaddress:443 2>/dev/null`;
問題:
但是,當我在輸出中運行我的腳本時,出現一條錯誤消息,我似乎無法停止顯示。我並不擔心這個錯誤會發生,但我不希望在我所做的漂亮的命令行輸出中顯示錯誤。
我的輸出和錯誤:
EXP-DES-CBC-SHA CIPHER IS SUPPORTED on 192.168.1.22:443
EXP-EDH-DSS-DES-CBC-SHA CIPHER IS NOT SUPPORTED on 192.168.1.22.443
EXP-RC2-CBC-MD5 CIPHER IS NOT SUPPORTED on 192.168.1.22:443
connect: Connection refused <--- the error I cant get rid of
connect:errno=111 <--- the error I cant get rid of
EXP-RC4-MD5 CIPHER IS NOT SUPPORTED on 192.168.1.22:443
我曾嘗試:
我曾嘗試與辦法,我知道的,以抑制輸出錯誤信息所有的方式嘗試,但沒有任何我嘗試防止出現此錯誤。我過去做過很多類似的事情,從來沒有用反引號來解決這個問題。有什麼明顯的我在這裏失蹤?
您對我們的幫助是非常讚賞,感謝
使用'2>/dev/null'是正確的方法。你確定它不工作? – 2015-02-08 21:37:33
是的,我肯定得到了錯誤(完全如上所示),我認爲2>/dev/null是正確的方式來做到這一點,這就是爲什麼它也讓我感到困惑。錯誤只能來自這個反引號命令,並且它是腳本唯一的'有意義'的事情(即在腳本中沒有其他面向連接的命令或反向命令)。所以我不明白爲什麼2>/dev/null沒有發現錯誤。 – 2015-02-08 21:48:26