【发布时间】:2009-07-28 01:30:44
【问题描述】:
假设我创建了一个名为 john 的 linux 用户帐户。 John 想在 linux shell (bash) 中创建一个名为 MYVAL 的变量,其值为 Hello World
MYVAL = 'Hello World'
John 不想在每次登录时都重新声明这个变量。是否有一些 linux 配置文件或启动文件让 john 可以在其中声明这个变量,以便在他每次启动计算机时填充它?
【问题讨论】:
假设我创建了一个名为 john 的 linux 用户帐户。 John 想在 linux shell (bash) 中创建一个名为 MYVAL 的变量,其值为 Hello World
MYVAL = 'Hello World'
John 不想在每次登录时都重新声明这个变量。是否有一些 linux 配置文件或启动文件让 john 可以在其中声明这个变量,以便在他每次启动计算机时填充它?
【问题讨论】:
这个问题最好在 serverfault.com 上回答,但答案是肯定的。您可以编辑您的主目录中的.bashrc 或.bash_profile 文件以在登录时设置环境变量。
.bash_profile 是您描述的环境变量的最佳位置。 .bash_profile 将在您每次登录时运行,而 .bashrc 将在您每次打开 shell 时运行。细微但重要的区别。
【讨论】:
他可以将变量添加到~/.bashrc文件中,每次登录都会加载这个文件。
【讨论】:
~/.bashrc 将仅在交互式 shell 中加载。通常,~/.bashrc 将来自 ~/.bash_profile。
对于每次用户登录(登录 shell)和每个交互式 shell 都可用的变量,应将其添加到 ~/.bashrc,然后从 ~/.bash_profile 中获取 ~/.bashrc。当作为登录 shell 调用时,Bash 不提供 ~/.bashrc。对于交互式 shell,Bash 不来源 ~/.bash_profile。
【讨论】: