最近因为觉得老是在终端拨号有点麻烦,于是产生出编写一个shell脚本的想法。
首先遇到的问题就是如何让脚本实现自动交互:自动输入用户名、密码
这儿有一下几种方式:
方法一:管道
比如实现 sudo 自动登陆
#!/bin/sh
echo "password" | sudo -S su
但是首先需要先安装expect,(有的系统可能已经安装了)
#!/usr/bin
# 设置超时时间为 3 秒
set timeout 3
#spawn 命令会调用另一个程序
spawn sudo Dial
expect {
"username" {
send "$username"
}
"password:" {
send "$password "
}
}
expect "#"
# 下面测试是否登录到 $host
send "uname "
expect "Linux"
send_user "Now you can do some operation on this terminal "
# 这里使用了 interact 命令,使执行完程序后,用户可以在 $host 终端进行交互操作。
Interact
refer:http://blog.csdn.net/trinea/article/details/5253155