常见的shell变量有:自定义变量;环境变量;位置变量,预定义变量等。

  变量:可以存放一个可变值的空间,可以通过不同的环境进行改变,就是一个可以变的值。一般使用echo 输出变量。

echo $变量名

bash echo变量到文件 shell echo输出变量_变量名

通过赋值的方式,省去繁琐的输入路径。这样也可以完美的输出,达到查看网卡的要求。这就是变量的优点。

  echo $? (?来检测命令是否执行成功,)

bash echo变量到文件 shell echo输出变量_shell_02

上一条命令输出正确,执行echo $? 则输出零,若不正确,则输出非零的数字。

自定义变量:

  自定义变量是用户根据自己的环境,自己定义的变量。

   Bash中比较简单的变量,不用进行提前声明,而是直接指定变量名称并赋给初始值; 

变量名=变量值等号两遍不允许出现空格;  

只能以字母和下划线开头名称中不能包含+、- * 、 / . , 、 ? % * ……等一些特殊字符。

  

bash echo变量到文件 shell echo输出变量_bash echo变量到文件_03

  以上就是自定义一个变量,并赋值,自定义变量一定要注意大小写。

必须使用$符号)。

   echo和调用的变量之间必须要有空格。

   直接使用echo 后面跟$调用的变量 如果有多个则空格隔开

实例2:

变量赋值:后面赋的新值会直接覆盖前面的赋值。

   

bash echo变量到文件 shell echo输出变量_shell_04

实例3:

{}将变量名括起来。

bash echo变量到文件 shell echo输出变量_bash echo变量到文件_05

双引号(")

当=号右边赋值出现空格的时候,需要使用双引号将其括起来,

bash echo变量到文件 shell echo输出变量_赋值_06

 在双引号的范围内还可以引用其他的变量,从而能够将现有的变量赋值给新的变量

bash echo变量到文件 shell echo输出变量_赋值_07

单引号(')

 当要赋值的内容包括"$"、"\"等,具有其他含义的特殊字符时,

 应使用单引号将其括起来。

 在单引号范围内将无法引用其他的值,任何字符均作为普通字符看待,但赋值的内容包含单引号时需  要使用\’符号进行转义以免冲突。

bash echo变量到文件 shell echo输出变量_shell_08

反撇号(`)

 在键盘esc的下边的按键。

 反撇号主要使用于命令替换,允许将某个命令的屏幕输出结果赋值给变量。

 反撇号括起来的范围内必须是可执行的命令。否则将会出现错误

bash echo变量到文件 shell echo输出变量_shell_09

 反撇号等同于$()

 需要注意的是使用反撇号难以在一条命令中实现嵌套命令的操作,这时可以$()来替代反撇号

 

bash echo变量到文件 shell echo输出变量_shell_10

 

4)read命令

 除了上面的赋值之外还可以使用read命令进行赋值,read命令用来提示用户输入信息,从而实现简  单的交互式过程(其实我们所输入的命令就是一种交互式的过程)

 执行时需要从标准输入设备键盘读取一行,并以空格为分隔符

 比如我同时定义两个变量操作如下所示

bash echo变量到文件 shell echo输出变量_自定义_11

 为了交互式更加的形象,提高易用性,加上 -p选项来设置提示信息

bash echo变量到文件 shell echo输出变量_赋值_12

以上的操作只是在当前的bash环境下生效,到了其他控制台或者是其他shel就不能生效了

我们进入当前shell的子shell。

bash echo变量到文件 shell echo输出变量_变量名_13

局部定义的变量就不会生效了。只能说明一点,当前bash内不存在输出的变量 

 通过set查看当前的所有变量

 通过env查看全局变量

 exit退出当前的bash回到父bash

 将一个局部变量改变为全局变量

bash echo变量到文件 shell echo输出变量_变量名_14

 通过export把局部变量改变为全局变量。

也可以之间定义一个全局变量并赋值

bash echo变量到文件 shell echo输出变量_赋值_15

需要注意的是变量的名是严格区分大小写的


以上是:自定义变量;环境变量的实验过程。希望能帮到你。


转载于:https://blog.51cto.com/berton/1795348