0
我試圖從ssh運行一些命令。每個遠程服務器有多個變量。在ssh中使用參數運行多個命令
for db_serv in `olsnodes`; do
for db_ins in `ssh $db_serv ps -ef | grep ora_pmon_ | grep -v grep | cut -d"_" -f3`; do
SessionSayisi=`ssh $db_serv ps -ef | grep $db_ins | grep 'LOCAL=NO'|grep -vc ASM`
echo "SessionSayisi= $SessionSayisi $db_ins"
done
done
這很好,但需要很長時間,因爲命令運行每個變量的ssh。我只需要爲每個服務器連接一次,然後獲得所有變量輸出,然後SSH到另一個。
這裏是我試過,但沒有奏效:
for db_serv in `olsnodes`; do
ssh $db_serv ps -ef | grep ora_pmon_ | grep -v grep | cut -d"_" -f3 << EOF
for db_ins in `ps -ef | grep ora_pmon_ | grep -v grep | cut -d"_" -f3`; do
echo "SessionSayisi= $SessionSayisi $db_ins"
done
EOF
done
我可以得到的名稱,但不能得到「$ db_ins」變量,它只是顯示空白。另外它在每個EOF的最後放置一個「做」字。 – AloneInTheDark