信号捕捉trap

trap可以捕捉系统发出的指令触发相应的执行命令

格式

trap '触发指令' 信号
trap '-' 信号 恢复原信号操作
trap '' 信号 忽略信号操作
trap -p 列出自定义信号操作
trap func EXIT 当脚本退出时,执行func函数

47、脚本实用性工具介绍_install

Ctrl+C组合键会生成SIGINT信号,并将其发送给当前在shell中运行的所有进程

​Ctrl+Z组合键会生成一个SIGTSTP信号,停止shell中运行的任何进程

47、脚本实用性工具介绍_信号捕捉_02

47、脚本实用性工具介绍_expect_03


创建临时文件mktemp

创建临时文件夹,格式

-d 创建临时目录  
-p DIR或--tempdir=DIR指明临时文件存放的目录位置,默认未指定为/tmp目录
mktemp testXXX 创建test***以test为头后三位随机字符的文件

47、脚本实用性工具介绍_trap_04

47、脚本实用性工具介绍_install_05

安装复制文件install

install功能相当于cp chmod chown chgrp等相关工具集合

格式

install [option] ... [-T] source  dest 单文件
install [option] ... source...dest directory
install [option] ... -t directory source...
install [option] ... -d directory...创建空目录
option选项 -m mode默认755 -o owner -g group -d directory目录

47、脚本实用性工具介绍_信号捕捉_06

47、脚本实用性工具介绍_expect_07

交互式转换expect

expect用于非交互式处理命令

语法

expect [OPTION] [-c cmds ] [[ -f [f|b]] cmdfile ] [args]
-c 从命令行执行expect脚本
-d 可以输出调试信息
expect中相关命令
spawn 启动新进程
expect 从进程接收字符串
send 用于想进程发送字符串
interact 允许用户交互
exp_continue 匹配多个字符串在执行动作后加此命令

47、脚本实用性工具介绍_trap_08

47、脚本实用性工具介绍_信号捕捉_09

47、脚本实用性工具介绍_install_10

47、脚本实用性工具介绍_expect_11