linux中shell脚本注意要点

1:重定向中的错误和输出定向到同一文件的方式是:

    如:ls + 1>list.txt 2>&1 或 ls + &>list.txt

    而不是 ls + 2>&1 list.txt


2: -exec中的{} \;这是命令格式,不是换行,中间有个空格并且\需要直接接;

    {}替换-exec中的输出

3:time中的时间为:

    atime:访问时间;

    mtime:修改时间;(主要是内容)

    ctime:改变时间;(主要是权限)

    以上以天为单位;amin、mmin和cmin则为分钟。

4:if [ ] 中间命令两边要留空格;

    [ ]和[ ]中间可以使用的逻辑命令为&&和||;

    [ ]内部可以使用的逻辑命令为 -a(和)和-o (或);

    进行字符串比较时使用[[ ]],不会出错。

5: echo -n 不换行;echo -e 解释后面的\t为特殊命令。

6:\e[31m为字符颜色;31m--37m同前;\e[41m为背景色 42m--47m同前;\e[0m重置颜色。

7:printf和C语言中一样。print以\n为换行符;print0以\0为换行符。

8:pgrep 取出进程号。进程的环境变量:/proc/PID/environ

9: 获取变量的长度:length=${#var}

10:算术运算中可以使用$(())、$[ ]和let。

11:精度确定:echo "scale=2; 2*0.15 "| bc

12: 进制转换: echo "obase=2;9999"|bc obase可以为任何进制(2、8、16、60等)

13: $1是第一个参数;$@被扩展为"$1"、"$2"、"$3";$*被扩展为"$1c$2c$3"c为IFS界定符(如,空格或:等)。

本文出自 “运维、数据库” 博客,请务必保留此出处http://startxx.blog.51cto.com/9565498/1572080

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。