Linux教程

<Linux>shell变量

本文主要是介绍<Linux>shell变量,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

一、Shell变量分类

1、内部变量:由系统提供,用户只能使用不能修改
	
2、用户变量:由用户建立和修改,在shell脚本编写中会经常用到

3、环境变量:这些变量决定了用户工作的环境,它们不需要用户去定义,可以直接在shell中使用,
其中某些变量用户可以去修改

二、用户自定义变量

1、定义变量及变量赋值

varName=Value
export varValue=Value

2、引用变量 $VarName

  • 一般地,所有的Shell变量都是字符串。
  • “=”是赋值符号,两边不能直接跟空格,否则命令无效。
  • 当变量的值仅仅包含数字时才允许进行数值计算。
  • 在较新的bash 中,可是使用declare 或typeset 命令声明变量及其属性,但一般不需要声明。而且为了使脚本兼容于不同的shell,在没有必要的情况下尽量不使用变量声明。

三、引用

  • 在bash 中,有些字符具有特殊含义,如果需要忽略这些字符的特殊含义,就必须使用引用技术。
  • 引用可以通过下面三种方式实现:
    1、 使用转义字符:\
    2、 使用单引号:‘’
    3、使用双引号:“”
  • 转义字符的引用方法就是直接在字符前加反斜杠。例:\\$,\‘,\“,\\,\,\!

四、强引用与弱引用

1、强引用

  • 单引号对是强引用
  • 单引号对中的字符都将作为普通字符,但不允许出现另外的单引号。

2、弱引用

  • 双引号对是弱引用
  • 双引号对中的部分字符仍保留特殊含义
    ①$(美元符号)-变量扩展
    ②`(反引号)-命令替换
    ③\(反斜线)-禁止单个字符扩展
    ④ !(叹号)-历史命令替换

举例:
①单引号对中的$字符被作为普通字符,因此不具有特殊功能了
在这里插入图片描述

在这里插入图片描述

③变量也可以存放命令,不过这里是存放命令执行后的结果,不是每次运行后都会生成新的结果
在这里插入图片描述在这里插入图片描述

五、shell变量的作用域

1、局部变量的作用范围仅仅限制在其命令行所在的shell或shell脚本文件中

2、全局变量的作用范围则包括本Shell进程及其所有子进程

3、可以使用export 内置命令将局部变量设置为全局变量

4、可以使用export 内置命令将全局变量设置为局部变量

六、export命令

1、显示当前Shell可见的全局变量
export [-p]

2、定义变量值的同时声明为全局变量
export <变量名1=值1> [<变量名2=值2> ...]

3、声明已经赋值的某个(些)局部变量为全局变量
export <变量名1> [<变量名2> ...]

4、声明已经赋值的某个(些)全局变量为局部变量
export -n <变量名1> [<变量名2> ...]

5、Shell的子进程修改变量之后不会传给父Shell

七、Shell环境变量

1、环境变量定义Shell 的运行环境,保证Shell 命令的正确执行

2、Shell用环境变量来确定查找路径、注册目录、终端类型、终端名称、用户名等

3、所有环境变量都是全局变量(即可以传递给Shell 的子进程),并可以由用户重新设置

八、常见的Shell环境变量

在这里插入图片描述

九、Shell变量的查询、显示和取消

1、显示当前已经定义的所有变量

①所有环境变量:env
②所有变量和函数(包括环境变量):set

2、显示某(些)个变量的值
echo $NAME1 [$NAME2 ……]

3、取消变量的声明或赋值
unset<NAME>

这篇关于<Linux>shell变量的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!