Shell 脚本:读取输出到 运行 下一个命令

Shell Script : read the output to run the next command

我正在尝试 运行 但仍然没有得到输出。不知道我是不是错了。 首先脚本应该登录到服务器
第二条命令是“netstat -tulpun | grep -i port(端口和服务器列表在同一个文件中)
3rd 它可能在这里得到 3 到 4 个输出,但我只需要 25 个 PID 输出而不需要其他

#!/bin/bash  
while read -r -u10 server port line  
do  
echo ========== server: "$server" port: "$port" ==========  
   ssh $line "netstat -tulpunt | grep -E \"\b$port\b\"" | awk '{print }' | grep '/' | awk -F '/' '{print }' | xargs -I % bash -c 'echo Port % && ps -ef | grep % && echo ' | grep -v grep  
done 10< demo  

更新后的所需输出:

=====
服务器 1
端口 1311

root      8063  8062  0  2014 ?        00:08:06 /opt/dm_cd -run

=====
服务器 2
端口 1311

root      6844  6843  0  2014 ?        00:20:22 /etc/bin/linux/ds -run  

=====
服务器 3
端口 8000

applmgr   1505  4215  0  2014 ?        00:05:44 /app/Apache/bin/httpd -d  

不需要的输出行可能是由于所需的 PID 出现在 ps -ef 输出(PPID、CMD)的其他列中或作为另一个 PID 的一部分。将 ps -ef 替换为 ps -fp% 以纠正它。