Bash 有没有办法找到路径设置的位置?
在UNIX中回显$PATH时,我得到以下结果:Bash 有没有办法找到路径设置的位置?,bash,unix,command-line-interface,Bash,Unix,Command Line Interface,在UNIX中回显$PATH时,我得到以下结果: /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/apache-maven/apache-maven-3.3.9/apache-maven-3.3.9/bin 有办法找到哪里吗 /usr/local/apache-maven/apache-maven-3.3.9/apache-maven-3.3.9/bin 设定好了吗?我不记得设置了那个 我检查了.profile、.bashr
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/apache-maven/apache-maven-3.3.9/apache-maven-3.3.9/bin
有办法找到哪里吗
/usr/local/apache-maven/apache-maven-3.3.9/apache-maven-3.3.9/bin
设定好了吗?我不记得设置了那个
我检查了.profile、.bashrc和.bash_配置文件,没有在其中任何一个文件中看到任何路径声明。那我怎么才能找到别人把它放在哪里呢
编辑:“bash-x-l”的相关输出
使用
-x
选项启动shell;输出将显示执行的每个命令,其中包括源
/
命令,这些命令将显示源文件。您将能够识别包含指定给感兴趣的路径的文件。manbash
列表
- /等/简介
- /etc/bash.bashrc
- ~/.bash\u配置文件
- ~/.bashrc
它在启动时读取的文件。路径将在其中一个中修改,在其中一个中引用的文件中修改(或在引用的文件中引用…),或者在启动shell之前为登录过程设置路径。/etc/environment
可能吗?或/etc/profile
@rbm不在以下任一位置those@AndyRay“env”并没有真正帮助我,因为我正在寻找路径连接的源。我需要找到正在调用的文件,该文件将maven path$path设置为环境变量对不起,对于新手的问题,但是如何使用-x选项启动shell?只需运行bash-x
,或bash-lx
启动登录shell即可。(每个都会生成一组稍有不同的初始化文件,因此在找到所需答案之前,您可能需要尝试这两种方法。)明白了。我不知道我在看什么(见上面我的主要编辑)。旁边的“+”是什么意思?有没有一种方法可以看到它解析的文件的开始/结束?它没有那么清楚,但是发生的是一些文件(很可能是/etc/profile
)正在执行类似eval$(/usr/libexec/path_helper-s)
path\u helper
输出行path=…
,该行由它在/etc/paths
中找到的目录名和/etc/paths.d
中的文件组成eval
执行该行以实际设置变量。
+ '[' -x /usr/libexec/path_helper ']'
++ /usr/libexec/path_helper -s
+ eval 'PATH="/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/apache-maven/apache-maven-3.3.9/apache-maven-3.3.9/bin:/Applications/dev/Apache-Derby/db-derby-10.12.1.1-bin/bin";' export 'PATH;'
++ PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/apache-maven/apache-maven-3.3.9/apache-maven-3.3.9/bin:/Applications/dev/Apache-Derby/db-derby-10.12.1.1-bin/bin
++ export PATH