摘要:Linux Shell 其实是用 C 语言编写出来的一个程序。Shell 不光是一种命令语言,而且还是一种程序设计语言。Shell 说的就是一种应用程序,这个应用程序能给出一个界面,用户依靠这个界面就能获取操作系统内核的服务。Shell 属于一个命令行解释器,它的作用在于解释并执行用户的命令,用户输入一条命令,Shell 就会马上解释执行这一条。当然啦,也能够把一套输入的逻辑整理成一个脚本文件,这样用起来就方便多了,能重复使用。
这篇文章重点讲的是 Linux Shell 编程里注释、变量、数组以及字符串的使用办法,详细的内容您可以参考下文。
一、Shell脚本结构
1.shell脚本程序
执行指令# vim hellojason.sh
#!/bin/bash
# 注释:说明脚本的作用
echo "Hello,Jason!"
备注:上述脚本中#!/bin/bash指明这个脚本使用bash解释器运行。而echo "Hello,Jason!"是一个简单的命令,用于输出文本。
2.运行shell脚本程序
说明:保存上述脚本内容后,给该脚本文件授予可执行的文件,然后执行指令# sh hellojason.sh运行该脚本文件。
二、Shell注释
说明:Shell编程中,为了方便脚本程序的理解,经常会使用文件进行注释。Shell脚本程序的注释分为单行注释和多行注释,一般使用#号进行单行注释,而多行注释倾向于使用:号。
1.单行注释符号#
说明:一般情况下,以 # 开头的行就是注释,会被解释器忽略。
如上述脚本程序中的内容:
就是单行注释。
2.多行注释符号:
说明:一般情况下,可以使用:<<EOF … … EOF进行多行注释。
:<<EOF
第一行注释
第二行注释
第三行注释
EOF
备注:上述注释符号:<<后面的EOF可以换成其它任意字符串。比如
:<<!
第一行注释
第二行注释
第三行注释
!
三、Shell变量
说明:在 Shell 编程中,变量是用来存储数据值的名称。一般格式如下
NAME1=jason # 可以不加引号定义字符串
NAME2='jason' # 单引号定义字符串
NAME3="jason" # 双引号定义字符串
1.定义变量
说明:分别使用字符串、加单引号的字符串和双引号的字符串定义变量,输出的结果一样。如下图
2.使用变量
说明:使用变量的时候需要加上$符号,或者${ }符号。花括号是可选的,主要为了帮助解释器识别变量边界。
比如上述可以这么使用已经定义的变量,如下
3.变量的变更及删除
说明:在把变量定义好了以后,能够用 readonly 命令去改变变量的属性,把变量变成只读变量。同时呢,如果已经定义好的变量用不着了,那就可以用命令 unset 把变量给删掉,变量一旦删掉就不能再用啦。当然,unset 命令是没办法删掉已经变成只读的变量的。
比如
四、Shell数组
说明:在 Shell 编程中,数组是用来存储多个数据值的名称。一般格式如下
1.定义数组
定义:在Shell编程中,数组就是一系列元素的集合,一个数组内可以存放多个元素。
2.读取数组
读取数组元素值的一般格式是:
${数组名[下标]}
比如
valuen=${array_name[n]}
如下
备注:可以使用${array_name[@]}或者${array_name[*]}获取数组的所有元素。
五、Shell字符串
说明:在 Shell 编程中,字符串是最常用最有用的数据类型,字符串可以用单引号,可以用双引号,也可以不用引号。
1.通过${字符串名}直接读取字符
2. 通过${#字符串名}获取字符串长度
3. 通过${字符串名:索引值:索引值}提取子字符串
备注:第一个字符的索引值为0