grep 找数据
sed 替换输数据
cut 格式化文档
join 连接,连接前排序
sort 排序数据
uniq 数据排重
fmt 格式化文本
awk 重组数据,文本
wc 计算行数l,字节数c,字数w
lp 打印
tr 转义字符
readonly 设为只读
export 导入当前环境
unset (-v)删除变量(-f)删除函数
env 可临时改变环境变量值
展开运算符:${varname:-word} ${varname:=word} ${varname:?word}捕捉变量为定义的错误 ${varname:-word}测试变量存在
省略:则为存在而不用非null
${variable#pattern} ${variable##pattern} ${variable%pattern} ${variable%%pattern} 单个最短,#从前匹配,%从后匹配
${#variable}变量的长度 $$:当前进程号 $?:上一个命令的退出状态
$#参数的总数 $*,$@表示所有命令行参数
shift让$1永远消失,$2代替$1,$#减1
算数展开 $((……))
test XX等同于[] 测试表达式,或是文件类型 test可以被欺骗,可以加入防御程序 ["X$1" = "X-f"]
case $1 in -f) ;; -d) ;; *) ;; esac
break, continue 可以加参数 跳出/继续几层循环
getopts 简化参数处理