Shell中的环境变量更改但不会导出

德雷

我在shell中设置永久环境变量时遇到问题。例如

HISTSIZE=0
export HISTSIZE
echo $HISTSIZE

该变量将在外壳中更改。但是,如果我打开另一个选项卡或关闭并重新打开外壳,则该变量将恢复为其原始值1000。

我也尝试使用〜/ .bash_profile中编写的脚本来获取变量。但是,它只在特定的Shell中起作用,而使变量具有相同的问题。如何创建永久更改?

Zsolt Botykai

某些终端模拟器不会将新选项卡作为登录Shell运行。例如,在Gnome Terminal中,您应该:

  1. 项目清单
  2. 转到编辑->配置文件首选项。
  3. 选择标题和命令选项卡。请注意,如何取消选中“作为登录外壳程序运行命令”复选框!检查。

此外,在shell会话中设置变量不会使其在以后的会话中永久存在。例如,导出变量使其可用于从实际会话中创建的任何其他进程。

为了使其永久性,您必须将其添加到例如 .bashrc

注意事项

通常建议使用Shell配置文件(例如〜/ .bashrc,〜/ .bash_profile和〜/ .bash_login)来设置环境变量。虽然这对于从Shell启动的程序在Bash Shell上可能有效,但是默认情况下,在这些文件中设置的变量不适用于从桌面会话中的图形环境启动的程序。

引自Ubuntu帮助

因此,决定在何处添加它,请仔细阅读该手册

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章