在redhat linux上的bashrc问题

我正在尝试在Redhat Enterprise Linux上的.bashrc文件中添加JAVA_HOME和更新后的PATH。

我的.bashrc文件只有这两行,但我得到的错误“:命令未find”

#user specific environment and startup programs export JAVA_PATH=/path/to/JDK export PATH=$PATH:/path/to/JDK/bin 

我不确定这个命令没有find什么东西,我甚至不发出命令。 是:一个命令?

是的,':'是bash中的一个有效的命令,所以错误信息表明由于某种原因,shell发现它是在.bashrc shell脚本中执行的命令。 尝试一些事情:

  1. 'cat -tve .bashrc'来查看它是否有任何隐藏的特殊字符。
  2. 'bash -x .bashrc'来查看是否执行.bashrc直接导致问题。
  3. 在这两个导出命令之前,在.bashrc中放置一个“echo $ PATH”,并且预先设置你的path。

我怀疑有以下可能之一:

  1. 奇怪的控制字符引起意外的问题
  2. .bashrc由不同的shell执行(如/ bin / sh)
  3. $ PATH在这个.bashrc运行之前包含奇数字符或值

我相信我列出的三个故障排除思路应该可以帮助您缩小范围。

检查.bashrc文件是否包含任何不必要的空格,制表符和换行符。

 cat -tve .bashrc 

为我工作。

试试这个例子 – 可能有帮助

导出JAVA_HOME = / usr / java / jdk1.5.0_11

export PATH = $ PATH:$ JAVA_HOME / bin

如果你不明白,也请阅读: Redhat文档

od -c还会向你显示文件的所有荣耀,以防隐藏字符。

但是,在VAR =“”中加上引号,你应该没问题。

另一种可能性是在$ PATH之前有一个空格。 如果在那里,删除它是一个好主意。 但引用你的任务作为其他人所build议的是一个好主意,并可能有所帮助,如果是这样的话。