设置变量与env变量Linux(debian)Bash shell

时间:2015-06-04 20:02:11

标签: linux bash debian

创建设置变量时,将它们添加到环境中有什么好处?两者都在会议终止时丢失。我知道很明显我可以添加有用的东西到.bashrc我想通过我的用户访问。 只是不确定有什么优势?这是多么常见的做法?我需要担心吗?我说的是现实生活中的管理用途。

在我看来,set就是一个类中的局部变量。 ENV显然是全球性的。也许唯一的用途是穿越不同的贝壳?它有多实用?

1 个答案:

答案 0 :(得分:5)

环境变量由shell调用的任何进程继承。这包括子shell和您调用的任何其他命令。

(非环境)shell变量不是。

例如,需要导出$TERM,因为从shell调用的命令(文本编辑器,寻呼机,使用全屏文本显示的任何内容)需要知道你的终端类型是什么重新使用,因此它可以在termcap或terminfo中查找其功能。需要导出$LANG和类似的变量,以便命令知道当前的语言环境。需要导出$PATH,以便您调用的任何命令都可以调用其他命令。

shell提示符

$PS1不需要导出,因为它只与当前shell相关(通常为新shell初始化)。