将结果保存到变量

use*_*825 5 bash netcat

如何将nc的结果保存到变量中?

我想要:

nc:连接到localhost端口1(tcp)失败:连接被拒绝

在我的变量上.我试过了:

a="$(nc -z -v localhost 1)"
echo $a
Run Code Online (Sandbox Code Playgroud)

但输出是空的.

fed*_*qui 9

只是$()用来获取命令的结果:

your_var=$(nc -z -v localhost 1)
Run Code Online (Sandbox Code Playgroud)

如果您还希望存储错误,则将2(错误)重定向到1(正常输出):

your_var=$(nc -z -v localhost 1 2>&1)
Run Code Online (Sandbox Code Playgroud)

  • 2>&1救了我,我疯了! (2认同)
  • 圣洁,我从未意识到$()只保存stdout的输出.以为我是智障或Bash不起作用.的xD (2认同)