shell特殊变量

$#:执行脚本时,传递参数的个数
$?:上一条命令执行是否正常;返回0表示正常,返回1表示不正常
$$:返回执行脚本时的PID
$*:以长字符串的形式返回所有传递的参数

shell数组:shell中的数组是一维数组

 ${ARRAY_NAME[*]}:依次显示数组中的所有元素
 ${ARRAY_NAME[@]}:依次显示数组中的所有元素
 ${#ARRAY_NAME[*]}:统计数组的长度
 ${#ARRAY_NAME[@]}:统计数组的长度

sed拼接

行首拼接:s#^#VAR&#g
行尾拼接:s#$#&VAR#g
注:VAR在此处是变量,表示要拼接的内容;

&符号的作用:
1)&符号引用的是前面字符串或正则匹配到的结果
2)&符号常用来拼接字符串

mail和mailx发送邮件

mail和mailx都可以用来发送邮件,mailx是mail的增加版;
常用选项:
    -s:邮件主题
    -r:指明发送邮件地址
    -a:添加附件
用法示例:
    echo "test mail" | mailx -s "bbb" -a a.sh [email protected]
    echo "test mail" | mail -s "ccc" -a a.sh [email protected]