bash的变量

 

(1)变量的命名

只能包含字母、数字和下划线,并且不能以数字开头;

不应该跟系统中已有的环境变量重名;

最好能见名知意。


(2)变量类型

本地变量:作用范围为当前shell进程

局部变量:作用范围仅为当前shell进程中某代码片断(通常为函数上下文)

环境变量:作用范围为当前shell进程及其子进程

位置变量:$1,$2

特殊变量:$?


(3)变量的定义

定义本地变量:name=value

查看本地变量:set

定义环境变量:exportname=value

              declare –xname=value

查看本地变量:env,printenv,export

撤消变量:unset name

引用变量:${name},$name

bash中的引用符号:

'': 强引用,变量替换不会发生

"":弱引用

``: 命令引用


shell登录类型:

交互式登录:

直接通过终端进行的登录;

通过su -l Username命令实现的用户切换;

非交互式登录:

图形界面下打开的命令行窗口;

执行脚本

配置文件作用次序:

交互式登录:

/etc/profile -->/etc/profile.d/*.sh --> ~/.bash_profile --> ~/.bashrc -->/etc/bashrc      最后那个优先级最高

非交互式登录:

~/.bashrc --> /etc/bashrc -->/etc/profile.d/*.sh

编辑配置文件定义的新配置如何生效?

(1) 重新登录;

(2) 让当前shell进程去重新读取指定的配置文件;

source /PATH/TO/SOMEFILE

. /PATH/TO/SOMEFILE

注意:会产生重复的变量