SHELL——环境变量,打印系统全局变量命令


1、系统变量

SHELL环境变量分类:

作用域分类为全局变量和局部变量、

系统变量和用户自定义变量。

打印系统全局变量命令:env、printenv

打印系统局部变量命令:set

在编辑器中查看系统全局变量命令:env | less

在编辑器中查看系统局部变量命令:set | less

(全局变量可以在子shell中查看、修改。)

(系统局部变量可以继承到子shell,但修改子shell中的局部变量不会改变父shell中的局部变量。)

2、用户自定义变量

定义变量方法命令:变量名=值

(等号两边没有空格)

(若值中有空格可以用单引号或者双引号把值括起来)

(默认定义的变量都是字符串类型)

如果在定义变量时候需要进行整形计算则使用$(())或者$[]

例如:变量名=$((3+5))、变量名=$[5+9]

变量升级为全局变量命令:export 变量名

(升级为全局变量后可以被子shell继承)

(子shell中的局部变量不会改变父shell中的局部变量)

撤销变量命令:unset 变量名

设置静态变量命令:readonly 变量名(静态变量不能unset)

3、特殊变量

处理脚本输入的变量

source 脚本名称 参数

脚本输入参数:$0、$1、$2

脚本中用$1表示第一个参数,$2表示第二个参数,$0表示脚本名称。

脚本输入参数个数:$#

所有参数的整体:$*

使用for循环遍历每一个参数:$@

最后一次执行命令的返回状态:$?(正常执行返回0,执行错误返回其他值)

 

3、执行脚本的区别

创建子shell并且在子shell中执行.sh脚本命令:./***.sh、bash ***.sh

在当前shell中执行脚本:. ***.sh、source ***.sh

 

相关内容