2011-10-31 123 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)