定义变量:
普通变量:variable-name=string
系统变量:export variable-name=string
注意:父进程中的环境变量在子进程中依然有效,但是父进程中的普通变量在子进程中是无效的;但是在子进程中定义的任何变量(普通以及系统)在父进程中是无效的;
若是在bash中设置变量(普通或环境),当关闭bash时,变量就销毁。只有写到配置文件,才会长期有效。
后
显示变量:echo $variable-name
取消变量:unset variable-name
env:查看环境变量
set:查看所有变量(环境变量与自定义变量)
系统级:
/etc/profile
/etc/bashrc
1.每个用户登录取得bash时一定会读取这两配置文件,可用于设置全局环境变量;
2.修改这两个文件后,修改结果不会立即产生,需要重新登录Shell或者使用source(或者.)显式执行配置文件;
3.unset variable-name指令可以在此Shell下屏蔽变量,若需要重新使用该变量,方法为使用source(或者.)显式执行配置文件;
4./etc/profile被执行时会调用外部设置的数据:/etc/profile.d/*.sh,/etc/inputrc,/etc/sysconfig/i18n;
5.变量是被加载到内存的,即使恢复了配置文件的修改,但是没有断开Shell,则上次加载的变量韩式有效的。
用户级:
~/.bash_profile,~/.bash_login,~/.profile
~/.bashrc
1.对于~/.bash_profile,~/.bash_login,~/.profile三个文件,有的系统可能只有上述文件中的一个,有的系统可能含有多个,但是所有系统只读取三者
中的一个,~/.bash_profile优先级最高,若~/.bash_profile不存在,则会读取次优先级文件~/.bash_login;
2.~/.bashrc:被~/.bash_profile文件包含;
3.对于普通用户的自定义变量,root用户默认时不能使用的,除非root用户使用source(或者.)执行普通用户的配置文件,但是这些普通用户的自定义变量只对
root的此Shell有效,root离开中断后就变为无效了;
4.unset variable-name指令可以在此Shell下屏蔽变量,若需要重新使用该变量,方法为使用source(或者.)显式执行配置文件;
5.变量是被加载到内存的,即使恢复了配置文件的修改,但是没有断开Shell,则上次加载的变量韩式有效的。
普通变量:variable-name=string
系统变量:export variable-name=string
注意:父进程中的环境变量在子进程中依然有效,但是父进程中的普通变量在子进程中是无效的;但是在子进程中定义的任何变量(普通以及系统)在父进程中是无效的;
若是在bash中设置变量(普通或环境),当关闭bash时,变量就销毁。只有写到配置文件,才会长期有效。
后
显示变量:echo $variable-name
取消变量:unset variable-name
env:查看环境变量
set:查看所有变量(环境变量与自定义变量)
系统级:
/etc/profile
/etc/bashrc
1.每个用户登录取得bash时一定会读取这两配置文件,可用于设置全局环境变量;
2.修改这两个文件后,修改结果不会立即产生,需要重新登录Shell或者使用source(或者.)显式执行配置文件;
3.unset variable-name指令可以在此Shell下屏蔽变量,若需要重新使用该变量,方法为使用source(或者.)显式执行配置文件;
4./etc/profile被执行时会调用外部设置的数据:/etc/profile.d/*.sh,/etc/inputrc,/etc/sysconfig/i18n;
5.变量是被加载到内存的,即使恢复了配置文件的修改,但是没有断开Shell,则上次加载的变量韩式有效的。
用户级:
~/.bash_profile,~/.bash_login,~/.profile
~/.bashrc
1.对于~/.bash_profile,~/.bash_login,~/.profile三个文件,有的系统可能只有上述文件中的一个,有的系统可能含有多个,但是所有系统只读取三者
中的一个,~/.bash_profile优先级最高,若~/.bash_profile不存在,则会读取次优先级文件~/.bash_login;
2.~/.bashrc:被~/.bash_profile文件包含;
3.对于普通用户的自定义变量,root用户默认时不能使用的,除非root用户使用source(或者.)执行普通用户的配置文件,但是这些普通用户的自定义变量只对
root的此Shell有效,root离开中断后就变为无效了;
4.unset variable-name指令可以在此Shell下屏蔽变量,若需要重新使用该变量,方法为使用source(或者.)显式执行配置文件;
5.变量是被加载到内存的,即使恢复了配置文件的修改,但是没有断开Shell,则上次加载的变量韩式有效的。