Linux Shell (8)-中断信号、脚本启动

1)  signal Ctrl+C=SIGINT=kill  -9 Ctrl+Z=SIGTSTP=kill -18 2) trap 捕获信号 trap commands signals 捕获signals信号,执行commands trap commands EXIT 捕获正常退出,执行commands trap – signals 移除捕获signals 3) nohup nohup commands & 后台运行commands,输出到nohup.out 4) jobs 列出相关的作业列表 -l     列出进程PID和job编号 -p    列出作业PID -r     列出运行的作业 -s     列出停止的作业…

Linux Shell (7)-输入输出-read、exec、lsof、mktemp、tee

1) read 读取用户输入 -n1 限定输入长度为1 -p 提示语 -t  等待输入的秒数 -s  将输入隐藏(密码输入等需求,这是个黑科技!!!) 若后面不加变量var的话,默认将输入存储在REPLY中 2) 标准文件描述符,一个shell最多可以打开9个文件描述符 0  STDIN        标准输入(默认键盘) 1  STDOUT    标准输出(默认终端显示器) 2  STDERR     标准错误 3) 错误输出到文件:ls -al aaa 2>error.txt 正常输出到文件:ls -al aaa 1>out.txt 所有输出到文件:ls -al aaa &>all.txt 4)重定向输出 临时重定向:>&2或者 >&1…

Linux Shell (6)-命令行选项、参数-shift、getopt、getopts

1)  定义 参数:命令行后面的数据值 选项:修改命令行为的单字符值,以-(破折号)开头 2)  命令行参数索引、长度: $0-程序或者脚本名称的完整路径,如果只需要获取名称可以使用”basename $0“; $1-第一个参数,$2-第二个参数,……,$9-第九个参数,${10}-第十个参数,此后的索引必须加{} 参数中不允许有空格,否则必须用引号; $#-命令行参数的个数,如果获取最后一个参数应该使用${!#}而不是${$#} $*-所有参数作为一个整体处理 $@-所有参数作为多个元素的集合处理 $$-当前脚本PID 3)  shift 左移每一个参数,$0保持不变,  $1被丢弃 4) 命令行中参数选项以—(双破折号分隔),前为选项,后为参数 5)  getopt 格式化选项、参数 getopt options optstring parameters optstring 标记选项是否需要参数,有参数选项字母后加: -q 忽略产生的错误消息 set — ‘getopt -q a:bcd “$@”‘,将原有的命令行参数选项替换为getopt格式后的形式 6) getopts 每次只取一个选项 getopts optstring variable 忽略产生的错误消息,需要在optstring前面加:(冒号) OPTARG…