2015-01-15 40 views
0

当这个脚本执行我得到的PID,我现在想读输出“PID”,并以这种方式无法读取输出运行下一个命令

ps -ef | grep -i PID 


while read -r -u10 server port line 
do 
echo ========== server: "$server" port: "$port" ========== 
ssh -qn "$server" "netstat -tulpunt | grep -E ":$port "" | awk '{print $7}' | grep '/' | awk -F "/" '{print $1}' 
echo 
done 10< demo 

样本输出运行下一个命令

========== server: Server1 port: 1311 ========== 
8063 

========== server: Server2 port: 1311 ========== 

========== server: Server3 port: 8000 ========== 
1505 

========== server: Server4 port: 1311 ========== 
8122 
+0

天网你能做到这一点。 – user3561766

+0

***可能重复的问题***。这是不是问题比[这其他](http://stackoverflow.com/questions/27959343/shell-script-read-the-output-to-run-the-next-command)? – Jdamian

+0

此问题重复http://unix.stackexchange.com/q/179263/4667 –

回答

0

现在我想读取输出 “PID”

我们可以将输出分配给一个变量。

PID=`ssh -qn "$server" "netstat -tulpunt | grep -E ":$port "" | awk '{print $7}' | grep '/' | awk -F "/" '{print $1}'` 

如果你仍然想看到它:

echo $PID 

,并以这种方式

ps -ef | grep -i PID 

这是一个经常出现运行下一个命令,但愚蠢的成语。更好地使用

ps -fp$PID