如何找到外壳环境变量

时间:2019-03-26 04:26:46

标签: linux

是否有找到在哪里定义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

3 个答案:

答案 0 :(得分:2)

除了使用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外壳类似。

答案 1 :(得分:0)

Google告诉我,可能有一个配置文件位于:

/etc/profile.d/gradle.sh

答案 2 :(得分:-1)

在bash shell下:

  • 要列出所有环境变量,请使用命令“ env”(或“ printenv“)。
  • 要引用变量,请使用$ varname,前缀为'$'(Windows使用%varname%)。

  • 要打印特定变量的值,请使用命令“ echo $ varname“。