linux - 在 Linux 启动时设置环境变量
问题描述
stackoverflow 中有几个关于这个主题的条目。例如这里
为什么它不能在我的装有 Debian-10 (Buster) 的计算机上运行?我做了3次试验:
在/etc/environment.d下放一个名为90java.conf的文件
JAVA_HOME=/usr/lib/jvm/default-java
在/etc/profile.d下放置一个名为java-env.sh的文件
导出 JAVA_HOME=/usr/lib/jvm/default-java
在/etc/profile的末尾添加相同的文本
导出 JAVA_HOME=/usr/lib/jvm/default-java
并在每次试用时重新启动 Debian。
然后打开一个命令窗口并输入
echo $JAVA_HOME
响应总是一个空行。喜欢了解我在启动时对环境变量没有掌握的内容。
后来补充:
输入导出语句到/etc/bash.bashrc解决了我的问题。
但是,我想了解/etc/environment或/etc/profile方法的不同之处。为什么在这种情况下环境变量不显示?
解决方案
像这样的设置只在特定的上下文中相关。例如您的外壳,您想在其中使用软件和工具。
因此,该解决方案实际上比您尝试过的所有方法都简单得多。您必须在您的私人/本地环境中执行此操作。但这取决于你的外壳。
如果您有 bash(或类似的 shell bash、sh、dash、...),最好编辑文件~/.profile
并添加export JAVA_HOME=/usr/lib/jvm/default-java
到那里。如果您有其他 shell,请找到我们正确的等效文件。对于 csh 它会是~/.cshrc
等。
推荐阅读
- python - Google Colab:重新设置 Python 模块
- c++ - 当光标在子窗口上移动时避免 WM_MOUSELEAVE
- python - k_clique_communities 的结果
- go - 检测连接到管道的标准输出在golang的读取端关闭
- push-notification - 如何对来自 Web 应用程序的文本和电子邮件通知进行自动化测试?(UI 自动化/API 自动化最好在 Javascript 中)
- ruby - 如何在ruby的单引号字符串中打印反斜杠
- assembly - 如何使用随机播放控制掩码
- nginx - Nginx - 在位置重写
- java - 如何在 JDK 10 中移动鼠标?.mousePress(InputEvent.BUTTON1_MASK); 不再工作
- python - 在 python 中使用正则表达式根据某些模式删除一些行