昨天一个网友问如何能够将输入密码的工作在shell里面自动完成,研究了一下,发现这种交互式的工作,普通的shell实现不了,据说可以借助expect来搞定,所以初步学习了一下expect,成果和大家分享一下: 应用一: 实现从普通用户“test”切换到root用户,自动输入root的密码,不用在终端提示符下执行密码输入操作。 步骤: (1)vi autosu.sh (2)#! /usr/bin/expect -f //指定expect工具的路径,如果不清楚具体路径,可以用"which expect"命令来查看。 spawn su - // 在expect 中用"spawn"关键字来调用命令“su - ” expect ":" //在执行了su - 命令之后,提示输入密码的提示符。例如你在执行了su - 命令之后,终端里面会出现提示“口令:”,那么你就可以在这里写expect ":",或者expect -exact "口令:" send "rootpasswd\r" //这里expect用send将你的root密码自动输入到上面的提示符之后。 interact //操作完成。 注意:这里强调一下执行脚本时要注意的地方,不能按照习惯来用sh ***.sh来这行expect的程序,会提示找不到命令,因为expect用的不是bash所以会报错。执行的时候直接./***.sh就可以了。~切记! 应用二: 从普通用户切换到root之后,执行“ls”操作,调用执行aaa.sh,返回执行结果,间隔10S。 #/usr/bin/expect -f spawn su - // 在expect 中用"spawn"关键字来调用命令“su - ” expect ":" //在执行了su - 命令之后,提示输入密码的提示符。例如你在执行了su - 命令之后,终端里面会出现提示“口令:”,那么你就可以在这里写expect ":",或者expect -exact "口令:" send "rootpasswd\r" //这里expect用send将你的root密码自动输入到上面的提示符之后。 expect "#" //当遇到提示符以#结尾时,即为root权限时; send "ls\r" //expect 用spend方法调用ls 命令,并且回车(“\r”) expect "#" send "sh aaa.sh\r" //调用sh aaa.sh,即执行一个脚本文件aaa.sh。 expect "#" send "echo $?\r" sleep 10 interact
2024-06-07 20:45:52 2KB selenium
1
Expect4Win-win32-ix86.exe
2024-06-07 18:52:08 3.38MB expect
1
expect5.45.4.tar tcl8.4.11-src.tar
2023-10-27 15:54:57 7.81MB tcl expect
1
python expect工具。 自动交互完成: 1. 批量并行scp/rsync 2. 批量并行ssh并执行命令 3. 挨个自动ssh,退出(ctrl-D、exit)后,自动登入下一台机器
2023-10-25 06:03:41 92KB python expect pexpect
1
expect是一个免费的编程工具,用来实现自动的交互式任务,而无需人为干预。说白了,expect就是一套用来实现自动交互功能的软件。 在实际工作中,我们运行命令、脚本或程序时,这些命令、脚本或程序都需要从终端输入某些继续运行的指令,而这些输入都需要人为的手工进行。而利用expect,则可以根据程序的提示,模拟标准输入提供给程序,从而实现自动化交互执行。这就是expect!!! 该资源包含expect5.45.tar.gz和tcl8.4.20-src.tar.gz压缩包
2023-10-07 15:01:38 3.62MB expect
1
ActiveTcl8.5.17.0.298612-win32 安装expect后的目录文件
2023-01-10 17:01:33 21.01MB tcl8.5
1
思科脚本 由Ken Lemoine于2015年8月20日发表 概括 此仓库包含一组Python,Expect和BASH脚本,旨在“黑洞”多个Cisco路由器上的IP地址。 这将有效地将所有流量从该IP发送到“ bitbucket”。 我们的用例是对DDos攻击中涉及的任何IP进行黑洞处理。 一切都记录到〜/ results.log。 要求 访问某些思科路由器,其特权级别足够高,可以运行“启用”和“配置”。 该脚本假定您运行脚本的计算机的用户名与您用于登录路由器的用户名相匹配。 名为“ device-list.txt”的文件(不包括),其中包含路由器主机名或IP的列表,与这些脚本位于同一目录中。 Python,Expect和BASH明显。 Linux操作系统是最简单的,它是在Ubuntu 14.10上构建和测试的,但是任何风格都可以正常工作。 安装说明 安装Git 须藤apt-get
2022-11-25 02:53:55 7KB Python
1
这个就是下载别人的,用了一下,又传上去,会点血,软件是可以用的,大家下载试试,哈哈哈,欢迎大家下载,没有积分的私我,我发给你
2022-11-02 10:23:59 1.32MB bat
1
expect 说明 执行方法 expect选项 命令(参数)说明 示例
2022-10-22 14:00:39 18KB linux 操作系统 expect
1
linux批量互信时使用,expect-5.45-14.el7_1.x86_64的rpm包
2022-09-29 09:00:42 251KB expect
1