Re: [問題] sudo 執行 expect 問題

作者: kentyeh (kent)   2016-12-15 16:24:08
如果你的目的是ssh自動登錄的話,可以提供我在用的腳本,
例如我公司的內部網址是 192.168.10. 開頭,
登錄 192.168.10.1 只要執行 $./sshp.sh 1 密碼 就可以了
bash shell如下(如果登錄不是root,請自行把root也改成參數):
#!/bin/sh
alive=$(ping -c4 192.168.10.$1 | grep 'received')
password=$2
if [ ! -z "$alive" ]; then
sed -i.old /^192\.168\.10\.$1/d ~/.ssh/known_hosts
expect -c "
set timeout 20
spawn ssh \"root\@192.168.10.$1\"
set timeout 5
expect {
\"Are you sure you want to continue connecting (yes/no)?\" {send
\"yes\r\"}
}
expect \"password: \"
send \"$password\r\"
expect \"]# \"
interact
"
else
echo 192.168.10.$1 無法連線
fi

Links booklink

Contact Us: admin [ a t ] ucptt.com