是否有找到在哪里定义linux环境变量的地方?当我使用以下命令打印环境变量时:
unsigned
输出为:
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
并使/home/local/gradle-3.5.1/bin
起作用。我在bash_profile中定义了/home/local/gradle-5.3/bin
,但找不到在何处定义/home/local/gradle-5.3/bin
环境变量这是我检查的路径:
/home/local/gradle-3.5.1/bin
PS:操作系统是:Ubuntu 16.04 LTS
答案 0 :(得分:2)
除了使用find
和grep
之外,您无济于事,无法发现每个变量的来源。
知道它确实是一个环境变量,我将尝试将搜索集中在/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外壳类似。答案 1 :(得分:0)
Google告诉我,可能有一个配置文件位于:
/etc/profile.d/gradle.sh
答案 2 :(得分:-1)
在bash shell下:
要引用变量,请使用$ varname,前缀为'$'(Windows使用%varname%)。
要打印特定变量的值,请使用命令“ echo $ varname“。