linux - 无法按我的预期设置 linux 环境变量
问题描述
我打开两个终端。在第一个终端:
export CLASSPATH="abc"
printenv CLASSPATH ---> output is abc
然后在第二个终端:
printenv CLASSPATH ---> no output
为什么在第二个终端我没有变量?
解决方案
这是行不通的,因为每个程序都继承了环境,即环境变量列表及其父进程的值。环境不会自动传播到系统上的所有其他程序,而只会由给定程序的子程序继承。要设置适用于所有新打开的终端的全局环境,您需要在每次打开终端时获取的文件中设置它。那将是什么文件取决于您使用的外壳和系统本地设置。例如,如果您使用 bash,则应放入export CLASSPATH="abc"
~/.bashrc。
推荐阅读
- python - 检查输入内容
- vue.js - 确保元素保持在视图中至少一秒钟
- java - 当缓冲区到达其边界时,Java Nio ByteBuffer 截断 unicode 字符
- javascript - React 在渲染页面之前不会等待 Redux 状态更改完成
- docker - 无法从 Node.js 容器调用我的 Laravel API,但我可以从 Postman 调用它
- javascript - 如何从由 Javascript 而不是 HTML 生成的网页中解析数字?
- javascript - 仅在提交时运行 useEffect
- r - 为什么 renderUI 在自定义模式下不起作用?
- r - 通过for循环读取R中的excel(.xlsx)文件
- macos - 如何在本地构建 Flutter 应用程序?