redhat linux 上的 bashrc 问题

redhat linux 上的 bashrc 问题

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

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

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

我不确定这个“未找到命令”是怎么回事,我甚至没有发出命令。:是命令吗?

答案1

是的,':' 在 bash 中是一个有效命令,因此该错误消息表明由于某种原因,shell 发现它是在 .bashrc shell 脚本中执行的命令。尝试以下几种方法:

  1. “cat -tve .bashrc” 查看其中是否有任何隐藏的特殊字符会造成混乱。
  2. 'bash -x .bashrc' 查看直接执行 .bashrc 是否会导致问题。
  3. 在 .bashrc 中的这两个导出命令之前放置一个“echo $PATH”,并查看您的路径事先设置为何。

我怀疑有以下可能性:

  1. 奇怪的控制字符导致意外问题
  2. .bashrc 由不同的 shell 执行(例如 /bin/sh)
  3. 此 .bashrc 运行之前,$PATH 包含奇数字符或值

我相信我概述的三种故障排除方法应该可以帮助您缩小范围。

答案2

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

cat -tve .bashrc

对我有用。

答案3

尝试这个作为例子 - 可能会有帮助

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

导出 PATH=$PATH:$JAVA_HOME/bin

如果你不明白的话可以阅读一下: Redhat 文档

答案4

另一种可能性是,在这些行之前,$PATH 中某处有一个空格。如果存在空格,最好将其删除。但引用其他人建议的作业是一个好主意,如果是这种情况,可能会有所帮助。

相关内容