最新消息:七维网络改版啦,域名www.7dwww.com

Linux Shell脚本的应用(基础)二

网络技术 admin 558浏览 0评论

Shell脚本的应用2(基础)

简介:这篇文档为shell脚本变量的应用,详细讲解了自定义变量

上篇文档的链接地址:Linux Shell脚本的应用(基础),也是shell脚本的基础内容,可以通过链接地址查看。

使用shell变量

shell变量的定义:用来存放系统和用户需要使用的特定参数(值),而且这些参数可以根据用户的设定或系统环境的变化而相应变化。

变量的作用:

变量名——使用固定的名称,由系统预设或用户定义

变量值——能够根据用户设置、系统环境的变化而变化

从而使shell程序更加灵活方便、适应性更强

常见的shell变量类型:

  • 自定义变量:由用户自己定义、修改和使用
  • 环境变量:由系统维护,用于设置工作环境
  • 位置变量:通过命令行给脚本程序传递参数
  • 预定义变量:Bash中内置的一类变量,不能直接修改

自定义变量

自定义变量:由系统用户自己定义的变量,只在用户自己的shell环境中有效,因此又称为本地变量。

在编写shell脚本程序时,通常会设置一些特定的自定义变量,以适应程序执行过程中的各种变化,满足不同的需要。

1.定义新的变量

Bash中的变量操作相对比较简单,不像其他高级编程语言(如C++、Java等)那么复杂。在定义一个新的变量时,一般不需要提前进行声明,而是直接指定变量名称并赋予初始值(内容)即可。

定义变量的基本格式:变量名=变量值

注:等号两边没用空格;变量名称需以字母或下划线开头,且区分大小写。

如下图:定义一个名为”Product”的变量(值为Python)和一个名为”Version”的变量(值为2.7)

Linux——Shell脚本中自定义变量的应用(基础)2

2.查看和引用变量的值

引用变量的值:在变量名称前添加前导符号”$”

查看变量:使用echo命令查看,可以在一条echo命令中查看多个变量值

注:当变量名称容易和紧跟其后的其他字符相混淆时,需要添加大括号”{ }”将其括起来,否则将无法确定正确的变量名称。对于未定义的变量,将显示为空值。如下图:

Linux——Shell脚本中自定义变量的应用(基础)2

3.变量赋值的特殊操作

1)双引号(”)

双引号作用一:

起界定字符串的作用,特别是当要赋值的内容中包含空格时,必须要以双引号括起来,否则会赋值失败,其他情况下双引号可以省略。如下图:

Linux——Shell脚本中自定义变量的应用(基础)2

双引号作用二:

引用其他变量的值(变量引用)

如下图:

Linux——Shell脚本中自定义变量的应用(基础)2

2)单引号(’)

当要赋值的内容中包含”$”或”””或”\”等具有特殊含义的字符时,使用单引号括起来后,将无法引用其他变量的值,任何字符均作为普通字符看待,说白了就是:禁止引用其他变量值,$视为普通字符。但赋值内容中包含单引号是,需要使用”\”符号进行转义,以免冲突。如下图:

Linux——Shell脚本中自定义变量的应用(基础)2

3)反撇号(`)

用于命令替换,允许将某个命令的输出结果赋值给变量。需要注意的是,反撇号括起来的范围内必须是能够被执行的命令,否则会出错。

如下图:

Linux——Shell脚本中自定义变量的应用(基础)2

上述操作相当于连续执行了两条命令——即先通过which cd 命令查找出cd命令的绝对路径,然后根据查找结果列出文件属性。

示例:

Linux——Shell脚本中自定义变量的应用(基础)2

还有一个需要注意的是,使用反撇号难以在一行命令中实现嵌套命令替换操作时,可以使用”$()”来代替反撇号。

4)read命令

read命令是bash的内置命令,可以用来提示用户输入信息,从而实现简单的交互过程。即从键盘输入内容为变量赋值。

为了使交互式操作的界面更加友好,提高易用性,read命令可以结合”-p”选项来设置提示信息,以便告知用户应该输入什么内容等相关事项。

示例:若希望用户输入备份文件的存放目录,并将用户输入的路径信息赋值给变量BakDir,可以执行以下操作。如下图:

Linux——Shell脚本中自定义变量的应用(基础)2

4.设置变量的作用范围

默认情况下,新定义的变量只在当前的shell环境中有效,因此成为局部变量。当进入子程序或新的shell环境时,局部变量将无法再使用。如下图:

Linux——Shell脚本中自定义变量的应用(基础)2

为了使用户定义的变量在所有的子shell环境中都能够继续使用,减少重复设置的工作,可以通过内部命令export将指定的变量导出为全局变量。用户可以同时指定多个变量名称作为参数(无须使用$符号),变量名之间以空格分隔。如下图:

Linux——Shell脚本中自定义变量的应用(基础)2

5.数值变量的运算

Shell变量的运算多用于脚本的过程控制(如循环次数、使用量比较等,这里不做详细介绍)。在Bash shell环境中,只能进行简单的整数运算,不支持小数运算。整数的运算主要通过内部命令expr进行。

运算格式:expr 变量1 运算符 变量2 [运算符 变量3]…

注:预算符与变量之间必须有至少一个空格。

常用的几种运算符:

  • +:加法运算
  • -:减法运算
  • \*:乘法运算,注意不能仅适用”*”符号,否则将被当成文件统配符
  • /:除法运算
  • %:求模运算 ,又称取余运算,用来计算数值相除后的余数

示例:设置x的值为12,y的值为15,依次演示x、y的加、减、乘、除、取模运算。如下图:

Linux——Shell脚本中自定义变量的应用(基础)2

以上所有内容为自定义变量的应用,常见的shell变量类型包括自定义变量、环境变量、位置变量、预定义变量四种,剩下的三种比较特殊,下篇文档我们再一起详细了解。

转载请注明:七维网络 » Linux Shell脚本的应用(基础)二

头像
发表我的评论
取消评论

Captcha Code

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址