文章目录
1、信号捕捉trap
用法:
- trap -l 列出所有信号
- trap ‘触发’ 信号
- trap ‘’ 信号
- trap ‘-’ 信号
- trap -p (列出自定义的信号)
- trap 函数名 exit (当脚本退出时,执行指定函数。只能执行一个,多个无效)
2、mktemp
用法:
- mktemp 文件名XXX (大写X,最少3个X)
- mktemp -d (创建目录)
- mktemp -p /opt/ (指定位置)
3、install
说明:相当于mkdir、cp、改属性{权限(带有x执行权限),所属主,所属组}
用法:
- install a /opt (拷贝)
- -d (只创建目录)
- -m 600(修改权限)
- -o (修改所属主own)
- -g (修改所属组)
4、交互式转化及批处理:expect
①、参数:-c (一行命令执行)
expect -c ‘expect “\n” {send “press enter\n”}’
②、相关命令
- spawn 启动新进程
- expect 接受字符串
- send 发送字符串
- interact 允许用户交互,保留在进程中
- expect eof 结束进程
- exp_continue 捕获多个字符串
③、命令行执行
首先启动expect,进入交互式模式
单分支:
expect "hi" {send "you said hi"}
多分支:
expect {
"hi" {send "you said hi\n"}
"hello" {send "you said hello\n"}
}
5、expect脚本
- 蛇棒机制:/usr/bin/expect
- 设置变量:set 变量名 有效值
- 位置参数:
set 变量名 [lindex $argv 0]
set 变量名 [lindex $argv 1]
set 变量名 [lindex $argv 2]
6、bash脚本引用expect脚本
cat <<EOF
expect 脚本
EOF