shell脚本之变量
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell脚本之变量相关的知识,希望对你有一定的参考价值。
常见的shell变量有:自定义变量;环境变量;位置变量,预定义变量等。
变量:可以存放一个可变值的空间,可以通过不同的环境进行改变,就是一个可以变的值。一般使用echo 输出变量。
变量格式:echo $变量名 实例如下:
通过赋值的方式,省去繁琐的输入路径。这样也可以完美的输出,达到查看网卡的要求。这就是变量的优点。
echo $? (?来检测命令是否执行成功,)
上一条命令输出正确,执行echo $? 则输出零,若不正确,则输出非零的数字。
自定义变量:
自定义变量是用户根据自己的环境,自己定义的变量。
Bash中比较简单的变量,不用进行提前声明,而是直接指定变量名称并赋给初始值;
自定义变量的基本格式为变量名=变量值等号两遍不允许出现空格;
变量名称只能以字母和下划线开头名称中不能包含+、- * 、 / . , 、 ? % * ……等一些特殊字符。
以上就是自定义一个变量,并赋值,自定义变量一定要注意大小写。
可以直接在命令行定义,以上就是定义一个变量并赋予值,通过echo进行输出变量 $是引用变量的特殊字符(必须使用$符号)。
echo和调用的变量之间必须要有空格。
直接使用echo 后面跟$调用的变量 如果有多个则空格隔开
实例2:
变量赋值:后面赋的新值会直接覆盖前面的赋值。
实例3:
当变量名和后面的字符容易混淆的时候应该使用{}将变量名括起来。
双引号(")
当=号右边赋值出现空格的时候,需要使用双引号将其括起来,
在双引号的范围内还可以引用其他的变量,从而能够将现有的变量赋值给新的变量
单引号(‘)
当要赋值的内容包括"$"、"\"等,具有其他含义的特殊字符时,
应使用单引号将其括起来。
在单引号范围内将无法引用其他的值,任何字符均作为普通字符看待,但赋值的内容包含单引号时需 要使用\’符号进行转义以免冲突。
反撇号(`)
在键盘esc的下边的按键。
反撇号主要使用于命令替换,允许将某个命令的屏幕输出结果赋值给变量。
反撇号括起来的范围内必须是可执行的命令。否则将会出现错误
反撇号等同于$()
需要注意的是使用反撇号难以在一条命令中实现嵌套命令的操作,这时可以$()来替代反撇号
4)read命令
除了上面的赋值之外还可以使用read命令进行赋值,read命令用来提示用户输入信息,从而实现简 单的交互式过程(其实我们所输入的命令就是一种交互式的过程)
执行时需要从标准输入设备键盘读取一行,并以空格为分隔符
比如我同时定义两个变量操作如下所示
为了交互式更加的形象,提高易用性,加上 -p选项来设置提示信息
以上的操作只是在当前的bash环境下生效,到了其他控制台或者是其他shel就不能生效了
我们进入当前shell的子shell。
进入子shell之后在局部定义的变量就不会生效了。只能说明一点,当前bash内不存在输出的变量
通过set查看当前的所有变量
通过env查看全局变量
exit退出当前的bash回到父bash
将一个局部变量改变为全局变量
通过export把局部变量改变为全局变量。
也可以之间定义一个全局变量并赋值
需要注意的是变量的名是严格区分大小写的
以上是:自定义变量;环境变量的实验过程。希望能帮到你。
本文出自 “11732822” 博客,请务必保留此出处http://11742822.blog.51cto.com/11732822/1795348
以上是关于shell脚本之变量的主要内容,如果未能解决你的问题,请参考以下文章