2011-10-31 122 views
0

bash中的命令放入變量中的方法是什麼?Bash - 如何把命令中的變量?

我與努力:

PORT=80 
`nc -zv -w30 127.0.0.1 $PORT >> /dev/null` 

但doesn'work。

+0

也許不輸出發送到/ dev/null的? – Kevin

+0

我需要那個...... – Mark

+0

它以什麼方式不起作用? – Flimzy

回答

2
  1. 如果您沒有捕獲命令的輸出,則不需要使用反引號。只需運行命令。
  2. 如果您將輸出設置爲devnull,則不需要追加(>>),只需編寫(>)。
  3. 這應該工作。如果它不起作用,那麼別的東西就是錯的。

    PORT=80 
    nc -zv -w30 127.0.0.1 $PORT > /dev/null 
    
+0

它可以工作,但它仍然顯示輸出(>/dev/null not working) – Mark

+1

然後刪除'-v'選項或重定向stderr,像這樣:'>/dev/null 2>&1'。 –

+0

他說什麼。 :-) – mwp

0

我假定你的意思是你想存儲在一個變量的命令的輸出。如果是這樣,那麼你應該首先將命令分配給一個變量,其次不要將輸出發送到/ dev/null。

x=`nc -zv -w30 127.0.0.1 $PORT` 

或替代語法:

x=$(nc -zv -w30 127.0.0.1 $PORT)