1、$0、$n(eg.$1)、$#、 $*、$@、$?、$$和命令行参数的含义
$0 #shell脚本本身的名字;
$n(eg.$1) #shell脚本传的第n个参数;
$# #传递给脚本或函数的参数个数;
$* #传递给脚本或函数的所有参数;
$@ #传递给脚本或函数的所有参数。被双引号(" ")包含时,与 $* 稍有不同,双引号包含时,"$*"的参数被当做一个整体,而"$@"还是遍历每一个参数;
$? #上个命令的退出状态,或函数的返回值。一般情况下,大部分命令执行成功会返回 0,失败返回 1;
$$ #当前Shell进程ID。对于 Shell 脚本,就是这些脚本所在的进程ID。
2、grep
在文本中搜索指定的字符
$ grep magic /usr/src/linux/Documentation/*
3、awk
把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。
awk '{pattern + action}' [filenames] #读取每行再判断分列
4、exit0 exit1 的区别
exit(0) #正常运行程序并退出程序;
exit(1) #非正常运行导致退出程序,通常会根据上一个命令的 $? 值来进行一些流程控制。