2016-04-07 33 views
0

Bu, kabuk beklemede olan kodum.Kabuk beklemede değişkeni komuttan çıktı almak istiyorum

#!/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 
    } 
    } 
} 

Çıktıyı ping'den $ count'a almak istiyorum. bunun ne çalıştırmayı denediğinizde "oluşur ': böyle bir dosya veya dizin' Sen awk ifadeleri hazırlamak zorunda

cevap

1

% 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 
%  
.