expect实现交互式输入

一.用expect实现交互式输入

#!/usr/bin/expect -f
set LUKS_passphrase xxxx123
set Verify_passphrase xxxx123
spawn cryptsetup luksFormat /dev/vdb1

expect "Are you sure? (Type uppercase yes):"
set timeout 5
send "YES\r"

expect "Enter LUKS passphrase:"
set timeout 5
send "$LUKS_passphrase\r"

expect "Verify passphrase:"
set timeout 5
send "$Verify_passphrase\r"

send "exit\r"
expect eof

二.用shell脚本调用expect脚本

expect x.exp

时间: 2024-11-10 14:06:35

expect实现交互式输入的相关文章

Expect 自动交互式程序

1. Expect 自动交互式程序介绍及安装 1.1 Expect 介绍 Expect 是一个用来实现自动化交互功能的软件套件. 1.2 为什么使用 Expect 在现今的企业运维中,自动化运维已经成为运维的主流趋势,但是在很多情况下,执行系统命令或程序时,系统会以交互式的形式要求运维人员输入指定的字符串,之后才能继续执行命令.例如: ① 为用户设置密码时,一般情况下就需要手工输入两次密码 ② 使用 SSH 远程连接服务时,第一次连接要和系统实现两次交互式输入: 简单地说,Expect 就是用来

[Mac]Terminal交互式输入行编辑

*:first-child { margin-top: 0 !important; } body > *:last-child { margin-bottom: 0 !important; } a { color: #4183C4; } a.absent { color: #cc0000; } a.anchor { display: block; padding-left: 30px; margin-left: -30px; cursor: pointer; position: absolute

第十四课时之交互式输入行编辑历史回溯

13.交互式输入行编辑历史回溯 某些版本的 Python 解释器支持编辑当前的输入行和历史记录,类似于在 Korn shell 和 GNU Bash shell 中看到的功能.这是使用 GNU Readline 库实现的,它支持各种编辑风格. 这个库有它自己的文档,在这里我们不就重复了 13.1. Tab 补全和历史记录 变量和模块名的补全在解释器启动时 自动打开 以便 Tab 键调用补全功能:它会查看Python语句的名字,当前局部变量以及可以访问的模块名.对于点分表达式如 string.a,

sshpass+expect解决交互式问题

1.sshpass: 使用场景: ssh登陆不能在命令行中指定密码,sshpass 的出现,解决了这一问题,用于非交互的ssh 密码验证 它支持密码从命令行,文件,环境变量中读取. 安装 [[email protected] ~]# yum install sshpass -y 已安装:   sshpass.x86_64 0:1.05-1.el6                                                                            

交互式输入编辑与历史命令补全

1.行编辑 如果支持,在交互式命令输入中,当前行可以使用以下的快捷键进行编辑: Ctrl+A:将光标移动到行开始位置 Ctrl+E:将光标移动到行结束位置 Ctrl+B:将光标往左移动一个位置 Ctrl+F:将光标往右移动一个位置 Backspace擦除光标左边的一个字符 Ctrl+D:擦除光标右侧一个字符 Ctrl+K:擦除光标右侧所有字符 2.历史命令补全 历史命令补全工作原理如下:将所有从命令行中输入的非空行保存在历史缓存中,当你在新的一行中输入命令 时,使用Ctrl+p输入历史命令中的上

expect非交互式功能实战

非交互式工具:expect,sshpass,pash 在管理机m01上面安装expece [[email protected] ~]# rpm -qa expect  #检查有没有安装expect[[email protected] ~]# yum install expect -y #用yum安装expect 安装完后再查看是否有 [[email protected] ~]# rpm -qa expectexpect-5.44.1.15-5.el6_4.x86_64 检查已经安装 非交互式生成

无密钥登录的自动脚本实现(ssh-copy-id、expect免交互输入脚本)

无密钥登录的自动脚本实现: vim auto_ssh.sh #!/usr/bin/expect   set timeout 10   set username [lindex $argv 0]   set password [lindex $argv 1]   set hostname [lindex $argv 2]   spawn ssh-copy-id -i /root/.ssh/id_rsa.pub [email protected]$hostname expect {         

用expect实现自动输入SSH的SCP信息,且不需要另外的文件

#!/bin/sh if [ $# != 2 ] ; then echo "USAGE: $0 remote_ip serverXXXXX" echo " e.g.: $0 1.2.3.4 serverxxxx" exit 1; fi host_ip=$1 server_port=$2 user_name="user_name" password="password" server_path="/xx/xxx&quo

交互式输入

[[email protected] ~]# ntpq ntpq> peers remote refid st t when poll reach delay offset jitter ============================================================================== +gus.buptnet.edu 202.112.10.60 3 u 17 64 377 88.144 32.547 5.601 +ntp.verd.co