昨天一个网友问如何能够将输入密码的工作在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
ffmpeg二进制文件,可以用其对音视频解码,截取视频中图片,和视频中的音频片段等待一些操作。比如根据帧率截取视频中图片,截取视频流中图片
2024-06-07 18:08:08 46.82MB ffmpeg
1
python安装时,可能有的库没有WHL文件,此工具可以让你从源码进行安装!它可以将源码编译成可以被window系统安装的二进制码!用于解决Microsoft Visual C++ 14.0 is required
2024-06-06 11:42:21 2.78MB 14.0 required
1
KBS(Knowledge-Based Systems)的Cover Letter参考模版。可私我加微信发。
2024-06-06 10:34:23 27KB CoverLetter
PHP TCPDF 类库,TP5可直接放在 extend 目录下使用,已修改类找不到、文件名为中文时会过滤掉中文的Bug。
2024-06-06 09:21:31 16.23MB TCPDF PDF ThinkPHP
1
自述文件 快速入门指南 # Extract read mapping $ ./cnvnator -root file.root -tree file.bam -chrom 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16\ 17 18 19 20 21 22 X Y OR $ ./cnvnator -root file.root -tree file.bam -chrom $(seq 1 22) X Y OR $ ./cnvnator -root file.root -tree file.bam -chrom chr1 chr2 chr3 chr4 chr5 chr6 chr7 chr8\ chr9 chr10 chr11 chr12 chr13 chr14 chr15 chr16 chr17 chr18 chr19 chr20 chr21 chr22
2024-06-05 22:47:17 71.79MB
1
很好用的卡诺图化简软件,直接得到逻辑表达式
2024-06-05 13:04:26 1.29MB
对不起,之前上传的那个RSA的实现代码,在上传时传的是空文档。现在纠正过来,sorry~
2024-06-05 11:30:06 4KB java rsa 加密算法
1
双击装载(或解压缩)下载文件后,以管理员身份运行Windows PowerShell或命令提示符,复制粘贴以下命令: dism.exe /online /enable-feature /featurename:netfx3 /Source:K:\sources\sxs 将K:\sources\sxs替换成下载的文件的真正位置(若是解压缩出.cab文件,最好不要放在硬盘根目录下),回车,等待进度条到100%,提示“操作成功完成”即可。再进入“打开或关闭Windows功能”,可看到net3.5已安装(有小方块)。
2024-06-04 17:32:06 69.46MB netframework3.5 .net netframework iso镜像
1
一个Neo4j的.dump数据库备份文件,可直接导入数据库,注意仅可用于个人测试和学习;数据源csv文件来自网络,如有侵权会进行删除。
2024-06-04 10:15:03 283KB Neo4j dump
1