shell脚本处理事件时,有时要输入密码,选择“Yes/NO”等,
如果人工输入,很麻烦, 不够智能。
这个问题可以用expect命令解决。
以下以ssh登录为例的脚本
#!/bin/bash
log_in()
{
expect -c "
spawn ssh -o StrictHostKeyChecking=no $user@$host
expect "password:" { send $passwd\r }
interact"
}
if [ $# != 3 ]; then
echo "Usage:sh $0 host user password"
else
host=$1
user=$2
passwd=$3
log_in
fi
同样的道理,telnet、scp命令也可以这么操作, 不再赘述