@yanglt7
2018-10-22T14:50:01.000000Z
字数 2005
阅读 828
Shell
Shell 脚本语言弱类型语言(无须定义变量的类型即可使用),在 Unix/Linux 中主要有两大类 Shell:Bourne Shell 和 C Shell。
Shell
1)脚本开头(第一行)
#!/bin/bash
这一行必须位于每个脚本顶端的第一行,如果不是第一行则为脚本的注释行。
CentOS 和 Red Hat Linux 下默认的 Shell 均为 bash。因此,在写 Shell 脚本的时候,脚本的开头即使不加 “#!/bin/bash” ,它也会交给 bash 解释。所以如果要指定解释器,最好加上相应的开头解释器语言标识。
2)脚本注释
通常情况下,在执行 Shell 脚本时,会像系统内核请求启动一个新的进程,以便在该进程中执行脚本的命令及子 Shell 脚本。
Shell 脚本的执行通常可以采用以下几种方式:
1)bash script-name 或 sh script-name :当脚本文件本身没有可执行权限或脚本文件开头没有指定解释器时需要使用的方法。
2)path/script-name 或 ./script-name :脚本需要有可执行权限,在绝对路径或相对路径直接执行脚本。
3)source script-name 或 . script-name :读入或加载指定的 Shell 脚本文件(如 son.sh),然后,依次执行指定的 Shell 脚本文件 son.sh 中的语句。这些语句将在当前父 Shell 脚本 father.sh 进程中运行(其他几种模式都会启动新的进程执行子脚本)。因此,使用 source 或 . 可以将 son.sh 自身脚本中的变量值或函数等的返回值传递到当前父 Shell 脚本中使用。
4)sh
规范:
1)Shell 脚本的第一行是指定脚本解释器,通常为:
#!/bin/bash
2)Shell 脚本的开头会加版本、版权等信息:
# Date: 22:00 2018-10-22
# Author: Created by ylt
# Blog: https: //blog.csdn.net/weixin_42061048
# Description: This scripts function is ...
# Version: 1.1
3)Shell 脚本中尽量不使用中文。
4)Shell 脚本的命名应以 .sh 为扩展名。
5)Shell 脚本应存放在固定的路径下。
书写习惯:
1)成对的符号应一次性写出来,然后退格在符号里增加内容,以防止遗漏。这些成对的符号包括:
{} [] '' `` ""
2)中括号 [] ;两端至少要有 1 个空格。
3)对于流程控制语句,应一次性将格式写完,再添加内容。
4)通过缩进让代码更易读。
5)对于常规变量的字符串定义变量值应加双引号,并且等号前后不能有空格,需要强引用的(指所见即所得的字符引用)则用单引号,如果是命令的引用,则用反引号。
6)脚本中的双引号、单引号及反引号必须为英文状态下的符号。