首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Knoppix中设置路径?

如何在Knoppix中设置路径?
EN

Stack Overflow用户
提问于 2012-08-01 21:47:23
回答 2查看 700关注 0票数 0

我正在使用knoppix 7.0.3并尝试设置PATH环境变量。根据Ubuntu官方文档,/etc/environment应该是最好的地方。因此,我在文件中添加了以下几行:

代码语言:javascript
复制
JAVA_HOME="/usr/lib/jvm/java-6-sun"
GRAILS_HOME="/home/knoppix/grails"
PATH="${PATH}:${JAVA_HOME}/bin:${GRAILS_HOME}/bin"

但在重启系统后,该文件只是恢复为原始文件(我使用的是持久存储)。然后,在谷歌搜索之后,我尝试编辑~/.profile,如下所示:

代码语言:javascript
复制
export JAVA_HOME="/usr/lib/jvm/java-6-sun"
export GRAILS_HOME="/home/knoppix/grails"
export PATH=$PATH:$JAVA_HOME/bin:$GRAILS_HOME/bin

这一次,设置了前两个变量(在控制台中回显),但路径没有。当我回显时,它仍然是默认的。怎么了?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-08-01 22:34:40

问题是,在bash初始化期间,在读取.profile之后,您的PATH会被覆盖。

来自the manpage of bash

当bash作为交互式登录shell或带有--

选项的非交互式shell被调用时,它首先读取并执行/etc/profile文件中的命令(如果该文件存在)。读取该文件后,它将按该顺序查找~/.bash_profile、~/.bash_login和~/.profile,并从第一个存在且可读的文件中读取和执行命令。当shell启动以禁止此行为时,可以使用--noprofile选项。

..。

当启动一个非登录shell的交互式shell时,bash将读取并执行~/.bashrc中的命令(如果该文件存在)。这可以通过使用--norc选项来禁止。rcfile文件选项将强制bash读取和执行文件中的命令,而不是~/.bashrc。

根据您的经验,很明显,如果.bashrc不存在,bash会尝试将PATH设置为默认值(如果有人确认这一点,我将不胜感激)。

正如我们在对您的问题的注释中所讨论的,向.bashrc添加export命令(从而创建文件)可以解决该问题。或者,您可以添加

代码语言:javascript
复制
source ~/.profile

添加到.bashrc文件的末尾,以获得相同的效果。

票数 0
EN

Stack Overflow用户

发布于 2012-10-25 07:04:31

修改以下行上的/etc/profile

代码语言:javascript
复制
PATH=".:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11760695

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档