1、内部变量:由系统提供,用户只能使用不能修改 2、用户变量:由用户建立和修改,在shell脚本编写中会经常用到 3、环境变量:这些变量决定了用户工作的环境,它们不需要用户去定义,可以直接在shell中使用, 其中某些变量用户可以去修改
1、定义变量及变量赋值
varName=Value
export varValue=Value
2、引用变量 $VarName
\\$
,\‘,\“,\\,\,\!1、强引用
2、弱引用
举例:
①单引号对中的$字符被作为普通字符,因此不具有特殊功能了
②
③变量也可以存放命令,不过这里是存放命令执行后的结果,不是每次运行后都会生成新的结果
1、局部变量的作用范围仅仅限制在其命令行所在的shell或shell脚本文件中
2、全局变量的作用范围则包括本Shell进程及其所有子进程
3、可以使用export
内置命令将局部变量设置为全局变量
4、可以使用export
内置命令将全局变量设置为局部变量
1、显示当前Shell可见的全局变量
export [-p]
2、定义变量值的同时声明为全局变量
export <变量名1=值1> [<变量名2=值2> ...]
3、声明已经赋值的某个(些)局部变量为全局变量
export <变量名1> [<变量名2> ...]
4、声明已经赋值的某个(些)全局变量为局部变量
export -n <变量名1> [<变量名2> ...]
5、Shell的子进程修改变量之后不会传给父Shell
1、环境变量定义Shell 的运行环境,保证Shell 命令的正确执行
2、Shell用环境变量来确定查找路径、注册目录、终端类型、终端名称、用户名等
3、所有环境变量都是全局变量(即可以传递给Shell 的子进程),并可以由用户重新设置
1、显示当前已经定义的所有变量
①所有环境变量:env
②所有变量和函数(包括环境变量):set
2、显示某(些)个变量的值
echo $NAME1 [$NAME2 ……]
3、取消变量的声明或赋值
unset<NAME>