Bash备忘录
BASH SHELL cheat sheet 记录一些 bash shell 脚本的奇技淫巧,都是从实际使用中 google 的。bash 各 Linux 发行版都自带方便好用特别是文本处理、一些运维之类的小脚本,但有些语法繁琐不好记容易忘整理一下方便查找。 trap trap 命令 用于指定在接收到信号后将要采取的动作,常见的用途是在脚本程序被中断时完成清理工作。当 shell 接收到 sigspec 指定的信号时,arg 参数(命令)将会被读取,并被执行。例如: trap "exit 1" HUP INT PIPE QUIT TERM 表示当 shell 收到HUP,INT,PIPE,QUIT,TERM这几个信号时,当前执行的程序会读取参数"exit 1",并将它作为命令执行。 如果要忽略某个信号就参数使用单引号就可以'' trap '' signals 如果启动的时候忽略了信号比如使用了nohup,trap 命令是无效的。具体信号可使用man 7 signal或者kill -l查阅 $*、$@、$# 直接上例子看,如下脚本test.sh echo 参数总个数 \$#: $# echo 第0个参数 \$0: $0 for a in $(seq 1 $#); do eval b=\$$a echo 第"$a"个参数 \$"$a": $b done echo -e "\nUsing \"\$#\":" echo "$#" echo -e "\nUsing \$#:" echo $# echo -e "\nUsing \"\$*\":" for a in "$*"; do echo $a; done echo -e "\nUsing \$*:" for a in $*; do echo $a; done echo -e "\nUsing \"\$@\":" for a in "$@"; do echo $a; done echo -e "\nUsing \$@:" for a in $@; do echo $a; done 然后运行此脚本,注意最后3 4用了双引号...