[Linux](六) --shell bash学习----变量的显示,设置,范围

今天学习bash里的变量,变量是什么?学过编程语言的同学应该很容易理解,就是一字符串装了一些比较容易变动的数据。 bash里的变量其实也是这样。

变量又可以分为:

  • 系统变量,也就是全局变量,系统帮我们设置好的。
  • 自定义变量,也就是局部变量,是我们用户自定义设置的。

查看Linux里的系统变量,可以输入env(environment)查看,如图:
[Linux](六) --shell bash学习----变量的显示,设置,范围

可以看到我们的系统变量都是大写的

介绍一些常见的系统变量所代表的意思:

  • HOME:用户的主文件夹。我这里的是/root.
  • SHELL:告诉我们使用的是哪一个shell,我这里使用的是bash:/bin/bash。
  • LANG:所使用的语言体系。我这里是zn_CN.UTF-8。
  • PATH:执行文件所按照的路径。

知道系统变量,那如何查看我们的自定义变量呢?

我们可以试试 set 命令

set 命令会把环境变量和系统变量都显示出来。


1.下面是变量的设置和显示,取消:

设置自定义变量:

[Linux](六) --shell bash学习----变量的显示,设置,范围

注意点:这里要注意 ‘=’ 符号,左右不能有空格,如果有空格就会这样如图:

[Linux](六) --shell bash学习----变量的显示,设置,范围
有空格会显示找不到命令!!!

显示一个系统变量:

[Linux](六) --shell bash学习----变量的显示,设置,范围

取消变量:

取消变量使用命令unset:
[Linux](六) --shell bash学习----变量的显示,设置,范围

2.变量的有效范围

  • 系统变量,因为内存配置好了,所以可以在子进程中使用
  • 自定义变量,在子进程中无法使用。
    如图:
    [Linux](六) --shell bash学习----变量的显示,设置,范围

可以看到系统变量没有收到影响,但自定义变量在子进程中无法使用了。
但当我退出时,就可以使用。

3.环境变量,自定义变量的转换

自定义变量 => 系统变量:

方法:

  • 使用export方法
  • 使用declare -x 方法

如图:
[Linux](六) --shell bash学习----变量的显示,设置,范围
[Linux](六) --shell bash学习----变量的显示,设置,范围

环境变量 ==> 自定义变量:

方法:

* declare +x var

如图:
[Linux](六) --shell bash学习----变量的显示,设置,范围
[Linux](六) --shell bash学习----变量的显示,设置,范围

可以看到 var从环境变量里消失了。

今天就学这些,吐槽下这两天要考试,我得准备准备。