创建设置变量时,将它们添加到环境中有什么好处?两者都在会议终止时丢失.我知道很明显我可以添加有用的东西到.bashrc我想通过我的用户访问.只是不确定有什么优势?这是多么常见的做法?我需要担心吗?我说的是现实生活中的管理用途.
在我看来,set就是一个类中的局部变量.ENV显然是全球性的.也许唯一的用途是穿越不同的贝壳?它有多实用?
环境变量由shell调用的任何进程继承.这包括子shell和您调用的任何其他命令.
(非环境)shell变量不是.
例如,$TERM需要导出,因为从shell调用的命令(文本编辑器,寻呼机,使用全屏文本显示的任何东西)需要知道你正在使用什么类型的终端,所以它可以查找它在termcap或terminfo中的功能.$LANG需要导出类似的变量,以便命令知道当前的语言环境.$PATH需要导出,以便您调用的任何命令都可以调用其他命令.
$PS1,shell提示符,不需要导出,因为它仅与当前shell相关(通常为新shell初始化).