2016-04-07 9 views
0

これはシェルのコードです。シェルから期待通りの出力を得たい場合

#!/usr/bin/expect -f 
array set routers { 0 "192.168.1.1" 1 "127.0.0.1"} 
array set password { 0 "56343451" 1 "123456789" } 
set size 2 
set COUNT 10 
for {set i 0} {$i < $size} {incr i 1} { 
    set count "[ping -c $COUNT $routers($i) | grep 'received' | awk -F',' '{ print \$2 }' | awk '{ print \$1 }']" 
    if { $count <= 3 } { 
    spawn ssh [email protected]$routers($i) 
    expect { "no)?" { send "yes\r"; exp_continue } 
    password: { send $password($i)"\r"; exp_continue} 
    interact 
    } 
    } 
} 

出力をpingから$ countに取得したいとします。 私はこれを実行しようとしているが、「発生しない 『:そのようなファイルやディレクトリは何を』

答えて

1

あなたはawk表情を引き締めるために持っている

% set COUNT 3 
3 
% set router 135.xxx.xx.xxx 
% exec /bin/ping -c $COUNT $router | grep "received" | awk -F "," {{print $2}} | awk {{print $1}} 
3 
%  
関連する問題