在需要交互的命令行中,比如登录mysql,需要输入mysql密码。
其实我们可以利用expect自动交互命令实现mysql登陆
1、安装`expect`
`yum install expect`
2、编写脚本
```
cat expect.sh
#!/usr/bin/expect -f
spawn mysql -uroot -p
expect "enter password"
send "123456\n"
interact
spawn su - root
expect "Password:"
send "123456\n"
interact
```
第一行代码代表在哪个路径寻找expect脚本命令。
第三行代码通过spawn执行后面的shell命令。
第四行代码代表通过expect捕捉spawn执行命令的结果。
第五行代码通过send会将expect脚本需要的信息发送给spawn启动的那个进程。
最后一行代码代表执行完保持交互状态,把控制权交给控制台,不然会退出。