Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux xargs执行nc检查端口_Linux_Bash_Shell - Fatal编程技术网

Linux xargs执行nc检查端口

Linux xargs执行nc检查端口,linux,bash,shell,Linux,Bash,Shell,文本文件中有以下格式的主机和端口列表 host1 10000 host2 20000 我想并行执行nc来检查端口连接 我尝试了以下命令 cat host-port.txt | xargs -n 1 -I ^ -P 5 nc -w 1 -zv ^ |& grep -v succeeded` 但是nc命令失败,出现以下帮助消息 这是netcat openbsd包中的nc。另一种nc可用 在netcat传统软件包中。 用法:nc[-46DDHKLNRSTUVZC][-i间隔][-P

文本文件中有以下格式的主机和端口列表

host1 10000    
host2 20000
我想并行执行
nc
来检查端口连接

我尝试了以下命令

cat host-port.txt | xargs -n 1 -I ^ -P 5 nc -w 1 -zv ^ |& grep -v succeeded`
但是
nc
命令失败,出现以下帮助消息

这是netcat openbsd包中的nc。另一种nc可用 在netcat传统软件包中。 用法:nc[-46DDHKLNRSTUVZC][-i间隔][-P代理\用户名][-P源\端口] [-s源\u ip\u地址][-T ToS][-w超时][-X代理\u协议] [-x代理地址[:端口][hostname][port[s]]`

如果我从文件中复制字符串并执行它,它就可以正常工作。不确定当
xargs
提取行(“主机端口”)并将其传递给
nc

时会发生什么请尝试以下操作:

cat hosts.txt| xargs -n 2 sh -c 'nc -w 1 -zv $1 $2' argv0
这个脚本的

#!/bin/bash
input=hosts.txt
while IFS=' ' read -r host port
do
    echo ${host} ${port}
    # nc -w 1 -zv ${host} ${port} 
done < "$input"
#/bin/bash
输入=hosts.txt
而IFS=''读取-r主机端口
做
echo${host}${port}
#nc-w1-zv${host}${port}
完成<“$input”
只需用
nc
选项替换行
echo${host}${port}