Я пытался зафиксировать результат grep, войдя на удаленную машину, используя ssl в команде Expect. Я прочитал переменную «except_out (buffer)», чтобы содержать выходные данные порожденного процесса, но она казалась пустой ... Указатель был бы очень признателен!
#!/bin/bash
username=hoge
password=hoge
hostname=machine20
prompt="\[$username@$hostname ~\]$"
expect -c "
set timeout -1
spawn ssh -l $username $hostname
expect {
\"$username@$hostname's password:\" {
send \"$password\n\"
} \"Are you sure you want to continue connecting (yes/no)?\" {
send \"yes\n\"
expect \"$username@$hostname's password:\"
send \"$password\n\"
}
}
expect \"$prompt\"
sleep 2
expect \"$prompt\"
send \"ps axuw | grep java | grep -vc grep\n\"
expect -re -indices \"(.*)\"
send \"echo result : $expect_out(buffer)\"
ожидаемая версия: 5.43.0