多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
#### 安装expect ```shell brew install expect ``` #### 编写expect脚本 例如在`~/.ssh`下新建`login.exp`文件。 ```shell #!/usr/bin/expect -f # 第一个参数为目标server的ip set ip [lindex $argv 0 ] # 第二个参数为目标server的用户名 set username [lindex $argv 1 ] # 第三个参数是端口号,默认22、 set port [lindex $argv 2] # 第四个参数为目标server的密码 set mypassword [lindex $argv 3 ] set timeout 10 spawn ssh $username@$ip -p $port expect { # 如果返回的内容里面有'yes/no',则输入yes "*yes/no" { send "yes\r"; exp_continue} # 如果返回的内容里面有assword(我们的server有些返回'password', 有些返回'Password')的文本, 则输入密码 "*assword:" { send "$mypassword\r" } } send_user "It's OK\r" interact ``` #### 在iTerm2中新建profile 例如profile叫`bl`,在`profile->general->command`中,输入 ```sh ~/.ssh/login.exp {地址} {username} {password} ``` 之后,如需登陆,`command+o`,打开profile界面,选择`bl`即可。