最近用到自动交互脚本进行数据库备份,以前虽然也有用来使用 ftp 远程获取文件,还来没有系统记录过,趁这次机会总结一下。...安装 expect expect是一个自动化交互套件,主要应用于执行命令和程序时,系统以交互形式要求输入指定字符串,实现交互通信。...expect自动交互流程: spawn启动指定进程 expect获取指定关键字 send向指定程序发送指定字符 执行完成退出. 注意该脚本能够执行的前提是安装了 expect。...interact:执行完成后保持交互状态,把控制权交给用户,不是免交互的状态,需要自行输入需要执行的命令。...Copyright: 采用 知识共享署名4.0 国际许可协议进行许可 Links: https://lixj.fun/archives/about-linux-expect
整个脚本是利用控制流(循环语句)实现一个交互的效果,再利用判断和read来实现配置 虽然有200多行代码,细看其实结构很清晰明了,一看就懂!...不过,为了能拿上台面加了很多字体颜色,不止是为了交互体验,也为了让关键字或者提示更加醒目。...同样可以用此结构来实现其他service的配置,个人感觉交互式的配置更直观、更简洁明了,我写了几个类似的交互配置的脚本都经常在工作中使用 代码奉上,后面附个运行截图: #!...-e "\033[49;32;1m(7) 添加\033[49;35;1miptables\033[49;32;1m控制列表\033[0m " echo -e "\033[49;32;1m(0) 退出脚本
那么我们就得看看如何实现人机交互了。...、交互输入案例 案例需求: 写一个系统用户交互登录界面脚本,仿linux文本界面登录 案例要点: 了解linux文本界面登陆所需要的输出信息及界面布局 job实现步骤: 1、根据linux文本界面登陆窗口输出信息...,打印登陆提示信息 2、交互输入登陆账号 3、交互输入登陆密码 代码实现: #job实现代码 02_login.sh #!...Description: 仿真登陆 IP=`ifconfig ens33|egrep -w "inet"|awk '{print $2}'` #1、清屏 clear #2、输出提示信息 echo "CentOS Linux...视频:shell交互输入命令-read
目录 什么是 VBS 第一个 VBS 脚本 msgbox 语法 中文乱码 弹窗交互功能 表白恶搞 什么是 VBS VBS 是一种 Windows 脚本语言,全称是 Microsoft Visual...Basic Script Editon,微软公司可视化 BASIC 脚本版 vbs 是系统内置的,代码可在 windows 系统中直接执行,不需要编译环境,非常的方便 vbs 脚本简单,高效,大部分功能都可以实现...,利用好 vbs 脚本,可以极大的提高效率,可以用它来做一些反复繁琐的机器操作 第一个 VBS 脚本 在桌面上新建一个文本文档 打开文本文档,在其中输入 msgbox "Hello World!"...ANSI 才可以正常运行中文 这时候我们需要 打开文本文档 ► 点击左上角文件 ► 另存为 ► 选择编码为ANSI ► 确定 即可解决 弹窗交互功能 上面我们只是实现了很简单的展示功能,那么我们需要实现交互功能...定义变量,语法为:dim 变量名1,变量名2,变量名3...变量名n 其中 inputbox 可以用来接收用户手动输入的参数 dim name name = inputbox("请告诉我您是谁", "这是交互的标题
Linux之expect工具是一个根据脚本与其他交互式程序进行交互。通过在脚本中设定期望值和响应值进行交互操作。主要应用于执行命令和程序时,系统以交互形式要求输入指定字符串,实现交互通信。...以SSH KEY 生成以及发送到远程服务器为例简单介绍下expect工具 expect 启用选项: -c执行脚本前先执行的命令,可多次使用-ddebug模式,可以在运行时输出一些诊断信息,与在脚本开始处使用...-i交互式输入命令,使用"exit"或"EOF"退出输入状态--标示选项结束(如果你需要传递与expect选项相似的参数给脚本时),可放到#!行:#!...如果设置为-1表示不会超时set定义变量$argvexpect脚本可以接受bash的外部传参,可以使用[ lindex $argv n ]n为0表示第一个传参,为1表示第二个传参,以此类推expect从交互程序进程中指定接收信息...exit退出expect脚本expect eofspawn进程结束后会向expect发送eof,接收到eof代表该进程结束interact执行完代码后保持交互状态,将控制权交给用户。
##shell编程交互 脚本菜单 shell脚本的交互最常用的方式是使用菜单,通常是echo打印菜单出来。 [root@db ~]# cat echomen.sh #!...Exit menu Enter option: 上面的脚本基本上是用echo打印的时间都花在写菜单,为此bash shell提供了一个命令select。...select命令只需要一条命令就可以创建菜单,并获取用户输入,命令格式 select variable in list do commands done list是由空格组成的文本列表 上面的脚本可以修改为以下这种形式...如果删除一个文件或者增加一个文件,再次执行时菜单项就会变化 删除文件test3 、test5并且创建test10文件后再次执行脚本菜单变化了 1) test10 3) test8 5)
expect 是建立在 tcl 语言基础上的一个自动化交互套件, 在一些需要交互输入指令的场景下, 可通过脚本设置自动进行交互通信。...可以将交互过程如:ssh 登录、ftp 登录、scp 复制文件等写在一个脚本上,使之自动化完成。尤其适用于需要对多台服务器执行相同操作的环境中,可以大大提高系统管理人员的工作效率。...expect 实例 自动拷贝 scp scp 远程复制文件(夹)涉及到很多交互式命令,我们不得不人工响应,expect 的出现解决了这个问题,实例脚本如下。.../xxx.sh 才能执行脚本成功,下面的自动登录 ssh 实例代码就是封装成函数的形式。...参考资料 expect自动交互详解 Ubuntu使用Spawn和expect实现ssh自动登陆 Linux中通过expect工具实现脚本的自动交互
#!/usr/bin/expect set full_name [lrange $argv 0 0] set domain_name [lrange $ar...
expect介绍 expect是一个自动交互功能的工具,可以满足代替我们实际工作中需要从终端手动输入某些内容来使得程序或命令继续运行的目的。...远程主机执行命令时需要多次输入密码的情况 expect主要命令 spawn 启动新进程,用于执行shell命令 send 发送字符串给expect控制的进程 set 设置变量 set user root expect 从发起交互的命令的进程接受字符串...,用于匹配我们预想的字符串 exp_continue 继续执行接下来的交互操作 set timeout -1 设置超时时间 永远等待 set timeout 10 设置超时时间 10秒 interact...将脚本的控制权交给用户,用户继续使用shell执行命令 $argv expect 脚本可以接受从bash传递过来的参数 安装expect yum install expect 免密码通过SSH登录服务器...[root@linux /]# 批量获取在线的IP地址机进行批量秘钥分发 [root@linux /]# vim ssh.sh #!
问: 我有一个 Bash 脚本,它使用 read 命令以交互方式读取命令参数,例如 yes/no 选项。是否有一种方法可以在非交互式脚本中调用这个脚本,并将默认选项值作为参数传递?...我需要向交互式脚本传递不止一个参数。 答: 如果你的脚本是通过 read 命令在交互式环境下读取命令参数,并且你希望在非交互式脚本中传递参数,那么你可以使用以下几种方法来模拟交互式输入: 1....使用文件描述符 还可以使用文件描述符来模拟交互式输入: exec 3< <(echo -e "arg1\narg2\narg3") ....你的脚本从该文件描述符中读取内容,而不是从标准输入(stdin)中读取。...但是,如果脚本需要更复杂的交互,expect 更合适。
循环 ls -1 *.fq.gz | xargs -n 2 ls -1 *.fq.gz | xargs -n 2 | while read {i,j};do echo $i,$j;done; # 生成脚本...-1 *.fq.gz | xargs -n 2 | while read {i,j};do echo "spades.py -1 $i -2 $j -o spades";done; # 生成更加完美的脚本...} echo "$PWD/{}" | xargs -n 2 | awk -F "/" '{print $6,$0}' | sed -e 's/_1.fq.gz//1' >reads.list #生成脚本...;else echo "no such file or dirctory";fi; #1 一个简单脚本 #/bin/bash a=$1 b=$2 if [ $a == $b ] then echo
个人整理一下常用的脚本,测速、面板、酸酸乳等 来源于各大博客,如有侵权,请联系本人:smile: 测速脚本 一键测速 wget -qO- bench.sh | bash SpeedTest wget -.../superspeed.sh ---- ZBench 服务器一键测试脚本 / 自带结果导出 wget wget -qO- –no-check-certificate https://raw.githubusercontent.com.../FunctionClub/ZBench/master/ZBench-CN.sh | bash ---- VPS安装脚本 宝塔面板 Centos安装命令: yum install -y wget &&
tee生成文件 Linux tee命令用于读取标准输入的数据,并将其内容输出成文件。 tee指令会从标准输入设备读取数据,将其内容输出到标准输出设备,同时保存成文件。...generic-kuberouter-all-features.yaml sed -i "s;%CLUSTERCIDR%;$CLUSTERCIDR;g" generic-kuberouter-all-features.yaml 参考:Linux...ip1PRODUCTION_GO_IP=$(kubectl get pods -n production -o wide | grep Running | grep service-go | awk '{print $6}') 获取脚本的绝对路径...DIR1="`dirname $BASH_SOURCE`" MYDIR=`readlink -f "$DIR1"` 这样,无论在哪里执行该脚本,都可以获得该脚本的绝对路径 参考:linux awk命令详解
/sbin:/bin:/usr/sbin:/usr/bin:/root/bin source /etc/profile [ $(id -u) -gt 0 ] && echo "请用root用户执行此脚本...SNMP OK report_NTP="" #NTP ok report_JDK="" #JDK版本 ok function version(){ echo "" echo "" echo "系统巡检脚本
Unity与iOS交互 Unity调用iOS的方法,首先在Xcode中新建一个iOS的桥接类,并且将.m的后缀修改为.mm 在.h中加入以下代码,里面的函数包括 无返回,返回字符串,返回布尔,带参数的函数等...defined(__cplusplus) } #endif 上面的步骤完成之后,将.h和.mm文件(包括Tools等依赖的文件)拷贝到Unity工程中Assets目录下 在Unity中,新建一个cs脚本...,添加以下代码,这个脚本最好实现成单例,然后就可以通过Instance.IOSGetLanguage()来调用 注意需要引用 using System.Runtime.InteropServices...UnitySendMessage("iOSLibraryUnity", "OnDidReceiveReward", "收到奖励"); } // --------- Unity中挂在节点上的脚本...工程 Unity要在iOS平台发布,需要先生成Xcode工程,通常生成Xcode工程后我们还需要修改很多的配置,添加原生代码等, 而这些是可以通过cs脚本修改的,比如修改Xcode工程的plist、添加
AWVS-SCAN-Plus 介绍 针对 AWVS 15 版本开发的批量扫描脚本,支持 SpringShell\log4j\常见 CVE\Bug Bounty\常见高危\SQL 注入\XSS 等 专项漏洞的扫描...企业微信机器人 webhook 等,修改完后,将 config_default.ini 文件名改为 config.ini 提示:config.ini 请使用编辑器更改,记事本会改会原有格式 使用方式一:交互式命令行...使用场景: 用于手动交互式进行 AWVS 扫描 使用方式: python awvs_scan.py **************************************************...12 这个参数,在交互式命令的使用场景下,会要求你手动输入已经在 AWVS 里定义好的模板 profile_id。...,方便脚本自动化调用 TODO 【已完成】增加命令行参数形式,运行脚本,方便脚本自动化调用 [ ] 增加导出报告功能 [ ] 漏洞通知增加多渠道:飞书、钉钉 [ ] 增加漏洞信息推送到 webhook
脚本没有完善,现在只有上半部分的基础环境搭建 【准备条件】 1.三个节点的防火墙关闭 2.原有mysql卸载删除 3.文件夹名字: mgr 所有的源码包都放在mgr的文件夹下... 4.文件位置: /root/mgr 脚本文件 #!...etc/rc.d/init.d/mysqld chmod +x /etc/rc.d/init.d/mysqld uuid和mysql随机密码后面会用到 修改密码 好久没写了,今天看了看以前写的脚本.../bin/bash source /etc/keystone/admin-openrc.sh source /etc/xiandian/openrc.sh #读取脚本后面的参数名 $0是脚本本身名字 file.../bin/bash source /etc/keystone/admin-openrc.sh source /etc/xiandian/openrc.sh #读取脚本后面的参数名 $0是脚本本身名字 file
linux 系统环境图片lscpu #查看服务器信息 pic1图片free -h #查看内存 pic2图片df -h #查看硬盘信息 pic3图片du -h -d 1 pic4Mar402 15:45:...4.0G /trainee/Mar402图片top # 查看系统进程与任务 pic5 (q退出)htop #是top的高级版 自己的服务区用conda安装 pic6图片图片ps -ef #pic7图片Linux...、位置参数变量、自定义变量,调用变量时,要在变量前面加一个 $ 符号• 环境变量:用于存储有关shell会话和工作环境的系统变量 • 状态变量:用于记录命令的运行结果• 位置参数变量:用于向命令或程序脚本中传递信息...• 自定义变量:由用户自行定义的变量,可用于用户编写的脚本,多个命令间的值传递等自定义变量自定义变量:由用户自行定义的变量,可用于用户编写的脚本,多个命令间的值传递等(注:= 前后不要有空格)Mar402...sbin/usr/local/bin/usr/sbin/usr/bin/sbin/bin/usr/games/usr/local/games/snap/bin-----满足上面三个条件才可调用(全局调用脚本
Shell脚本基础 1.1 脚本编写的基础: 指令的执行时从上而下,从左往右的执行 指令的下达时,指令,选项与参数之间的多个空白都会被忽略掉 空白行业会被忽略,多个[tab]的空白同样视为空格键 读取到一个...指定这个脚本使用的shell名称:本例和大部分情况下使用的是/bin/bash。...参数 2.1 默认参数 #0:代表执行的脚本文件名 #1,#2,#3……:代表第n个参数 $#:代表后接的参数数量 $@:代表所有参数,各参数是独立的(用"包住") $*:代表素有参数,各参数不独立,用...可以使用Linux内建机制处理,例如seq命令和...: for i in $(seq 1 100) for i in $(seq a...g) 6.
/bin/bash #15尝试写遍历一个目录下的文件名的脚本 cleanDir=/home/uplooking/save cleanDay=`date -d"7 days ago " +%Y%m%d `...#16教训 Linx下的文件名字最后面有空格是允许的,但是你发现不了,除非ls下删除失败匹配失败往往是这种原因 #17回顾 vim esc :wq保存并推出 #18收获 使用root权限往往需要交互...脚本自动执行去掉交互 sudo ......<<EOF your-password EOF bash教程 <https://www.runoob.com/linux/linux-shell-basic-operators.html
领取专属 10元无门槛券
手把手带您无忧上云