Linux Shell编程系列--变量的定义与使用

一、目的

        上一篇我们简单介绍了shell脚本的组成以及如何运行一个shell脚本,本篇将详解讲解shell中的变量。在Shell脚本中,变量是用来存储和处理数据的基本结构。

二、介绍

        1、定义变量

                变量名与等号(=)后跟值来定义一个变量,变量名称与值之间只有一个"="(绝对不能有空格)。

                变量名与等号之间不能有空格,但赋值内容可以包含空格,如果值本身含有空格或特殊字符,应将整个变量引用用双引号包围起来。         

        Linux Shell编程系列--变量的定义与使用_第1张图片

                上图中定义了三个变量,第一个变量使用单引号''包含其字符串值;第二个使用双引号""包含其字符串值;第三个变量其值也是字符串;第四个字符串是一个数值(但其还是字符串)。

                当你给一个变量赋值时,无论赋值的内容是什么类型的数据(数字、文本或特殊字符),Shell都会将其作为字符串来处理。

 

        2、引用变量

                使用美元符号"$"引用变量的值;如果变量名包含特殊字符或者与后续字符无明显分隔时,可以使用花括号 {} 来包裹变量名以避免歧义。                Linux Shell编程系列--变量的定义与使用_第2张图片

        上图中列举了打印变量my_var_three的几种方法,需要特别注意的是如果变量名和打印内容粘连在一起,此时必须添加花括号,否则会认为是一个新的变量名。

        上图中的执行结果如下:

Linux Shell编程系列--变量的定义与使用_第3张图片 

        3、只读变量 

                通过指定readonly关键字可以定义只读变量。

Linux Shell编程系列--变量的定义与使用_第4张图片 

        对只读变量赋新值,执行时会报错。

        上图中对只读变量赋新值直接显示报错。

        4、 删除变量

                使用 unset 命令可以删除已定义的变量。

                Linux Shell编程系列--变量的定义与使用_第5张图片 

                unset之后再打印此变量则显示未空(即该变量未定义)

 Linux Shell编程系列--变量的定义与使用_第6张图片

        5、命令替换

                即将命令的执行结果直接作为变量的值,有两种方式:

  • 使用反引号
  • 使用$(command)形式               

Linux Shell编程系列--变量的定义与使用_第7张图片 

         

        6、环境变量 

                环境变量是一种特殊的Shell变量,它们不仅对当前Shell进程可见,还会被子进程继承。 shell脚本中可以引用环境变量的值,也可以将变量导出为环境变量。

                使用环境变量

        

 

                导出环境变量

export my_var_four="abc"
export my_var_four #在一个已经定义了值的变量基础上进行导出

        7、局部变量和全局变量 

                Shell脚本中没有严格的局部变量概念,但在函数内部定义的变量通常只能在该函数内部访问。环境变量就是全局变量。

        8、数组变量

                Bash支持一维数组,可通过索引引用其元素。

 

               

        以上,就是shell脚本的基本内容。         

你可能感兴趣的:(linux,shell,linux)