linux 金沙官网线上shell 基本规范

  1. 开头指定脚本解释器

    #!/bin/bash 或  #!/bin/sh
    
  2. 开头加版权信息

    #Date:  2017-8-01  22:50
    #Author: yang qiang wei 
    #Mail:  xxx@qq.com
    #Funtion: This is delete ...
    #version:  1.0
    
  3. 脚本中不用中文注释

  4. 脚本以.sh结尾   如: install.sh
  5. 成对的符号一次性写出
  6. 中括号两端有空格   如: [ kkk ]
  7. 流程控制语句一次书写完

    if 
        then
    
    fi
    
  8. 使用缩进

金沙官网线上,本文所选的例子来自于《Advanced Bash-scripting Gudie》一书,译者 杨春敏 黄毅

自删除脚本

#!/bin/rm

#自删除脚本

#当你运行这个脚本时,基本上什么都不会发生...除非这个文件消失不见


WHATEVER=65


echo "This lines will never print(betcha!)."

exit $WHATEVER   #没关系,这个脚本是不会在这里退出的

 

  “为什么我们写脚本开头要加#!/bin/bash ?因为#!(即sha-bang)告诉系统这个文件需要一个解释器,而/bin/bash就是这个文件的解释器,所以开头可以是python可以是/bin/ls可以是/bin/sed,可以是/bin/rm。可能是一个shell, 也可能是一个程序语言, 也可能是一个工具包中的命令程序. 这个解释程序从头开始解释并且执行脚本中的命令(从sha-bang行下边的一行开始),关于#!输入man magic可以查询。我们赋予某个脚本文件如test.sh执行的权限那么就可以直接输入test.sh运行不是吗?相当于输入/bin/bash test.sh (sh test.sh) 所以解释器为rm时那样执行就相当于执行/bin/rm test.sh所以当然文件被删除了”,这是红联linux上网友dujingxi的解释,我觉得很好,就引过来了。这句话恰好的解释了shell中的命令解释器,原文地址是http://www.linuxdiyf.com/viewarticle.php?id=274248。

脚本执行结果

金沙官网线上 1

金沙官网线上 2

  Result:rm.sh脚本自动消失,什么都不会出现

本文由金沙官网线上发布于操作系统,转载请注明出处:linux 金沙官网线上shell 基本规范

您可能还会对下面的文章感兴趣: