1、背景概述本文作者LockieDeng,后端工程师,致力于倒腾各种前沿技术,欢迎交流:
dengmuuming@163.com
为了能够一键运行N+的Linux命令。
2、安装扩展 2.1、expectexpect是一个自动化交互套件,主要应用于执行命令和程序时,系统以交互形式要求输入指定字符串,实现交互通信。
2.2、sshpassyum install -y expect
可以在命令行直接使用密码来进行远程连接和远程拉取文件。
3、sh脚本 3.1、sh脚本编写yum -y install sshpass
vi su.sh
#!/bin/expect set timeout 30 spawn nohup sshpass -p password ssh -p 22 -fNL 3306:11.11.111.110:3306 username@22.22.222.22 spawn nohup sshpass -p password ssh -p 22 -fNL 3306:11.11.111.111:3306 username@22.22.222.223.2、sh脚本运行
- 第一种:./su.sh
- 第二种:/usr/bin/expect -f su.sh
通过sh脚本编写的方式,加上扩展expect、sshpass的辅助,可以一键执行多个命令,解放重复输入的烦恼。
当然,脚本很简单,还需要更多的兼容性处理,比如:
- 执行命令的逻辑上,进程/隧道已经存在,就不需要再处理
- 配置定时脚本每小时巡航一次,避免进程/隧道挂掉



