如何將nc的結果保存到變量中?將結果保存到變量
我想:
NC:連接到本地主機端口1(TCP)失敗:連接上我的變量拒絕
。我試過了:
a="$(nc -z -v localhost 1)"
echo $a
但輸出爲空。
如何將nc的結果保存到變量中?將結果保存到變量
我想:
NC:連接到本地主機端口1(TCP)失敗:連接上我的變量拒絕
。我試過了:
a="$(nc -z -v localhost 1)"
echo $a
但輸出爲空。
只需使用$()
得到命令的結果:
your_var=$(nc -z -v localhost 1)
如果你也想被存儲錯誤,然後重定向2
(錯誤),以1
(正常輸出):
your_var=$(nc -z -v localhost 1 2>&1)
2>&1救了我,我瘋了! – 2017-03-31 16:39:39
只是重定向到stderr
stdout
,表示由2>&1
:
a="$(nc -z -v localhost 1 2>&1)"
echo $a
nc: connect to localhost port 1 (tcp) failed: Connection refused
連接文件描述符2
(除非重定向)至stderr
,fd 1
連接至stdout
。 bash
語法$(...)
僅捕獲stdout
。
-w
是你在這種情況下
-w超時 連接不能超時秒後建立或空閒超時的朋友。 -w標誌對-l選項沒有影響,即nc將永久地監聽連接,無論是否帶有-w標誌。默認值是沒有超時。
nc -z -w 3 $serverName $serverPort
現在你可以使用$?變量在腳本中使用它。
if [ $? == 0 ]
可用於在腳本中使用上述命令的輸出。 如果無法建立,上述命令將在3秒後超時連接。
所以你想捕捉錯誤輸出? – 2013-03-13 16:40:27