在.bashrc中设置变量时,我应该使用它吗?
export VAR=value
或者这还够吗?
VAR=value
究竟有什么区别(如果有的话)?
解决方法
最好的方法
export VAR=value
区别
干
VAR=value
仅设置脚本持续时间的变量(在本例中为.bashrc).脚本的子进程(如果有)将不会定义VAR,并且一旦脚本退出VAR就消失了.
export VAR=value
显式地将VAR添加到传递给子进程的变量列表中.想试试吗?打开一个shell,做
PS1="foo > " bash --norc
export PS1="foo > " bash --norc
更新:正如Ian Kelling所述,下面的.bashrc中设置的变量在源自.bashrc的shell中持久存在.更常见的是,每当shell发送脚本(使用source scriptname命令)时,脚本中设置的变量将持续存在于shell的生命周期中.