日常脚本习惯,关于rm操作的总结

jackxiang 2010-8-25 10:07 | |
日常脚本习惯:

(1)所有字符串用引号引起来。比如grep abc> run.log,类似含有“>”等特殊符号的命令,如果不加引号,在执行时可能会带来不可预料的后果。 建议在输入参数时,先输入一对双引号,再返回来输入参数值,这样出错的可能性就小很多了。

    shell中各种引号的区别:

    1)双引号,也称为弱引号,如果参数是用双引号括起的话,Shell解释器会先扩展双引号里面元字符引导的变量,字符代表的意义。

        USER="selen";

        echo "$USER is my name."

        selen is my name.

    2)单引号,也称为强引号,在单引号里面的所有字符,包括元字符,都会当成没有特殊意义的字符。

        USER="selen";

        echo "$USER is my name."

        $USER is my name.

    3)反引号,将两个反引号之前的字符串作为命令执行,并在当前位置输出命令的标准输出。和 $()有相同的功能。

        lst=`pwd`

        echo $lst

        /usr/local/smsmt/sh

    4)一些例子

        #如何输出一个单引号

        echo ""

        echo \

        #如何输出一个双引号

        echo """

        echo "

        #单引号中如何输出变量的值,即单引号中如果还有一层单引号,可以开启变量的替换。

        USER="selen";

        echo $USER is my name.

        selen is my name.

(2)所有命令的参数数指定,尽量不要用默认,而是明确指出。比如使用ls -lrht想取到文件的修改时间,如果不指定时间格式的话,会使用本机默认的时间格式,在不同的机器,甚至不同的用户下不会不同的执行结果;最好加上如--time-style="full-iso"之类的格式限定参数。


关于rm操作的总结:
运维人员经常需要定期在后台删除一些东西,如日志、过期的数据等,这些都涉及到rm操作;
    进行rm操作有很强的风险,一定要慎之又慎,否则会造成很严重的后果,比如需要删除某个目录下的某些数据,
        你输入了rm /
        此时你手一抖或者无意识地敲到了回车,完了。。。
        更杯具的是,你是用root用户登陆的。。。


    为了降低风险,在rm操作时采用以下步骤:
    a、先用ls命令列出你所要删除的文件;
    b、再确认一遍所列文件是否全是需要删除的文件;
    c、确认完毕后,将命令的ls修改为rm,然后回车,完成删除操作;
    d、多输入几次ls命令,防止无意中按到向上箭头+回车,又一次杯具的上演;

    ps:在日常的运维工作中,一定不要先输入rm然后再输入路径,这样很容易造成误操作,切记;人不在,记得锁屏,并且主窗口

不要是O-secureCrt,否则也有出错的风险;能脚本例行化的,采用脚本例行化,以尽量规避认为操作的风险。

作者:jackxiang@向东博客 专注WEB应用 构架之美 --- 构架之美,在于尽态极妍 | 应用之美,在于药到病除
地址:http://jackxiang.com/post/3432/
版权所有。转载时必须以链接形式注明作者和原始出处及本声明!

评论列表
发表评论

昵称

网址

电邮

打开HTML 打开UBB 打开表情 隐藏 记住我 [登入] [注册]