Linux变量和引用

Linux变量和引用

ID:37711738

大小:44.01 KB

页数:13页

时间:2019-05-29

Linux变量和引用_第1页
Linux变量和引用_第2页
Linux变量和引用_第3页
Linux变量和引用_第4页
Linux变量和引用_第5页
资源描述:

《Linux变量和引用》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、变量和引用1变量1.1什么是变量变量用于保存有用信息,如路径名、文件名、数字等,Linux用户使用变量定制其工作环境,使系统获知用户相关的配置。变量可分为:本地变量、环境变量和位置参数。(1)本地变量是仅可以在用户当前Shell生命期的脚本中使用的变量,本地变量随着Shell进程的消亡而无效,本地变量在新启动的Shell中依旧无效,它类似于C、C++、Java等编程语言中局部变量的概念。本地变量中包含环境变量,Linux的本地变量的非环境变量不具备继承性。(2)环境变量则适用于所有由登录进程所产生的子进程,简言之,环境变量在用户登录后到注销之前的所有编辑器、脚本、程序和应用中都

2、有效。新的环境变量通过export命令来定义。Linux的环境变量具有继承性,即子Shell会继承父Shell的环境变量。(3)位置参数也属于变量,它由于向Shell脚本传递参数,是只读的。1.2变量替换和赋值Shell的三类变量中,位置参数是只读变量,因此,没有变量的替换和赋值操作,其他两类变量都存在上述操作。变量是某个值的名称,引用变量值就称为变量替换,$符号是变量替换符号,如variable是变量名,那么,$variable或${variable}就表示变量的值。将值赋给某个变量名就称为变量赋值,变量赋值有两种格式,如下所示:variable=able${variable

3、=value}对于变量赋值,有以下三点说明:(1)等号的两边可以有空格,这不影响操作;(2)如果值(value)中包含空格,则必须用双引号括起来;(3)变量名只能包括大小写字母(a~z和A~Z)、数字(0~9)、下滑杠(_)等符号,并且变量名不能以数字开头,否则视为无效变量名。利用unset命令可以清除变量的值,命令格式为:unset变量名除了使用等号进行变量赋值以外,变量赋值还有下面几种模式:模式意义variable=value将值赋给变量variablevariable+value对已赋值的variable,重设其值variable?value或variable:?valu

4、e对未赋值的variable,显示系统错误信息variable:=value对未赋值的variable,将值value值赋给它variable:-value对未赋值的variable,将值value值赋给它,但value值不存储到variable对应的地址空间1.1无类型的Shell脚本在C、C++、Java等编程语言中,定义变量需要声明其类型,如整形、浮点型、字符型等。Shell脚本变量却是无类型的,这与awk变量是一样的。bashShell不支持浮点型,只支持整形和字符型,默认情况下,Shell脚本变量是字符型的,同时,字符型的变量还具有一个整型值,为0,尽管如此,bash

5、Shell并不要求在定义一个变量时声明其类型。但是,Shell会根据上下文判端出数值型的变量,并进行变量的算术运算和比较等数值操作。判定标准时变量中是否只包含数字,如果变量只包含数字,则Shell认定该变量是数字型的,反之,Shell认定该变量是字符串。下面通过一个例子分析Shell对无类型变量的处理方式,新建一个名为integer.sh的脚本,内容如下:#!/bin/basha=2009let"a+=1"echo"a=$a"b=xx09echo"b=$b"declare-ibecho"b=$b"let"b+=1"echo"b=$b"exit0integer.sh的脚本首先定义

6、a变量,值为2009,然后将a的值增加1,再输出a的值。从下面的integer.sh脚本执行结果可以看到,Shell自动将a解析为数值变量,a=2010。let命令用于在变量上执行算术运算,实际上let"a+=1"等价于a=+1。然后integer.sh脚本定义b变量,值为xx09,b显然是字符型的,我们利用declare命令将b强制转化为整形,发现b的值并没有改变,即declare强制转化并没有起作用。将b执行算术操作,增加1,结果为b=1,即字符型变量的数值为0。integer.sh脚本的执行结果如下所示:[root@localhost~]#.integer.sha=201

7、0b=xx09b=xx09b=1接下来,我们通过一个例子说明Shell对空字符串和未定义变量的处理方式,新建null-undeclare.sh脚本,内容如下:#!/bin/bashc=""echo"c=$c"let"c+=1"echo"c=$c"echo"e=$e"let"e+=1"echo"e=$e"exit0null-undeclare.sh脚本定义c变量为空字符串,将c执行算术操作,增加1,结果为c=1,即空字符串变量的数值仍为0。然后null-undeclare.sh脚本直接输出未曾

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。