无论如何,有没有找到在哪里定义linux环境变量?当我使用以下命令打印环境变量时:

env


输出为:

PATH=/home/local/apache-maven-3.3.9/bin:/home/hldev/software/sbt:/home/local/jdk1.8.0_111/bin:/bin:/home/local/gradle-3.5.1/bin:/home/local/node-v6.9.2/bin:/home/hldev/bin:/home/hldev/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/opt/node-v8.9.4-linux-x64/bin:/home/local/go/bin:/home/local/gradle-5.3/bin


我如何在bash_profile中定义/home/local/gradle-3.5.1/bin,但找不到在何处定义/home/local/gradle-5.3/bin环境变量。这是我检查区域的路径:

/etc/profile
/root/.bash_profile
/home/dolphin/.bashrc
/home/dolphin/.bash_profile


PS:操作系统是:Ubuntu 16.04 LTS

最佳答案

除了使用findgrep之外,您无法做很多事情来发现每个变量的来源。

知道它确实是一个环境变量,我将尝试将搜索集中在/etc/和您的主目录中。将var替换为您要搜索的适当变量:

$ grep -r var /etc/*

要打印在shell中设置的所有环境变量,可以执行以下操作:

$ printenv | less

寻找环境变量的一些地方:

系统范围


/etc/environment:专门用于环境变量
/etc/env.d/*:环境变量,分为多个文件
/etc/profile:所有类型的初始化脚本
/etc/profile.d/*:初始化脚本
/etc/bashrc/etc/bash.bashrc:用于功能和别名


用户特定


~/.bash_profile:登录(bash-)shell的初始化
~/.bashrc:所有交互式(bash)shell的初始化
~/.profile:用于所有外壳
~/.cshrc~/.zshrc~/.tcshrc:与非bash外壳类似

10-07 20:24
查看更多