脚本工具:trap、mktemp、install、expect

文章目录

  • 1、信号捕捉trap
  • 2、mktemp
  • 3、install
  • 4、交互式转化及批处理:expect
    • ①、参数:-c (一行命令执行)
    • ②、相关命令
    • ③、命令行执行
  • 5、expect脚本
  • 6、bash脚本引用expect脚本

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

你可能感兴趣的:(#,精华)