क्या कोई मुझे बता सकता है कि sudo
कमांड को कैसे निष्पादित किया जाए expect
? मैंने निम्नलिखित की कोशिश की लेकिन यह काम नहीं कर रहा है। क्या कोई मुझे सुझाव दे सकता है?
set login "sasuke"
set addr "hostname"
set pw "mypasswd"
spawn ssh $login@$addr
expect "$login@$addr\'s password:"
send "$pw\r"
expect "#"
send "output=$(sudo virsh list --all | awk "/running/{print \$2}" | tail -2); sudo virsh dominfo $output"
expect "password:"
send "$pw\r"
expect "#"
जब मैंने नीचे की स्क्रिप्ट की कोशिश की, तो यह त्रुटियों के बिना निष्पादित हुई, लेकिन मुझे आउटपुट नहीं मिला। यहां स्क्रिप्ट और आउटपुट है जब यह निष्पादित होता है। मैं यहाँ गलती कहाँ कर रहा हूँ?
set login "sasuke"
set addr "hostname"
set pw "mypasswd"
spawn ssh $login@$addr
expect "$login@$addr's password:"
send "$pw\r"
expect "#"
send {output=$(sudo virsh list --all | awk '/running/{print $2}' | tail -2)}
expect {
password: {send "$pw\r"; exp_continue}
"#"
}
send {sudo virsh dominfo "$output"} ;# don't know if you need quotes there
expect {
password: {send "$pw\r"; exp_continue}
"#"
}
क्रियान्वयन
sasuke@njob:~$ ./hypr.sh
spawn ssh sasuke@hostname
sasuke@hostname's password:
sasuke@hostname:~$ output=$(sudo virsh list --all | awk '/running/{print $2}' | tail -10)sudo virsh dominfo '$output' sasuke@njob:~$