如何在Bash脚本中使用Expect
时间:2019-08-20 17:58:20 来源:igfitidea点击:
Expect主要被认为是系统管理员不可或者缺的应用程序。我们通常在需要用户输入的情况下使用expect,例如ssh、ftp、telnet、sudo等。
在下面的bash脚本示例中,它将首先对远程主机进行ssh,然后从远程主机获取命令输出
新建一个新文件。
vi expectcmd
将下面的内容复制到文件中。
修改下面变量的值:
- HOST=远程主机名
- USER=用户名
- PASS=密码
#!/bin/bash HOST="localhost" USER="chitti" PASS="123" CMD=$@ XYZ=$(expect -c " spawn ssh $USER@$HOST expect \"password:\" send \"$PASS\r\" expect \"\$\" send \"$CMD\r\" expect -re \"$USER.*\" send \"logout\" ") echo "$XYZ"
最后,保存文件。
设置权限
chmod 750 expectcmd
执行时,提供命令作为expectcmd脚本的参数
sh expectcmd "uname -a"