$# 是传给脚本的参数个数
$0 是脚本本身的名字
$1 是传递给该shell脚本的第一个参数
$2 是传递给该shell脚本的第二个参数
$@ 是传给脚本的所有参数的列表
$* 是以一个单字符串显示所有向脚本传递的参数,与位置变量不同,参数可超过9个
$$ 是脚本运行的当前进程ID号
$? 是显示最后命令的退出状态,0表示没有错误,其他表示有错误
sed [options] ‘AddressCommand’ file…
-n:静默模式,不再默认显示模式空间中的内容
Address:
- StartLine,EndLine
比如1,100
$:最后一行
- /RegExp/
/^root/
- /pattern1/,/pattern2/
第一次被pattern1匹配到的行开始,至第一次被pattern2匹配到的行结束,这中间的所有行
- LineNumber
指定的行
- StartLine,+N
从startLine开始,向后的N行
Command:
d:删除符合条件的行
p:显示符合条件的行
a \string:在指定的行后面追加新行,内容为string
i \string:在指定的行前面添加新行,内容为string
使用脚本选项及组合条件测试
整数测试:
-le
-lt
-ge
-gt
-eq
-ne
字符测试
==
!=
>
<
-n
-z
文件测试
-e
-f
-d
-r
-w
-x