我正在尝试将 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 脚本中执行的命令。尝试以下几种方法:
- “cat -tve .bashrc” 查看其中是否有任何隐藏的特殊字符会造成混乱。
- 'bash -x .bashrc' 查看直接执行 .bashrc 是否会导致问题。
- 在 .bashrc 中的这两个导出命令之前放置一个“echo $PATH”,并查看您的路径事先设置为何。
我怀疑有以下可能性:
- 奇怪的控制字符导致意外问题
- .bashrc 由不同的 shell 执行(例如 /bin/sh)
- 此 .bashrc 运行之前,$PATH 包含奇数字符或值
我相信我概述的三种故障排除方法应该可以帮助您缩小范围。
答案2
检查.bashrc 文件是否包含任何不必要的空格、制表符和换行符。
cat -tve .bashrc
对我有用。
答案3
尝试这个作为例子 - 可能会有帮助
导出JAVA_HOME=/usr/java/jdk1.5.0_11
导出 PATH=$PATH:$JAVA_HOME/bin
如果你不明白的话可以阅读一下: Redhat 文档
答案4
另一种可能性是,在这些行之前,$PATH 中某处有一个空格。如果存在空格,最好将其删除。但引用其他人建议的作业是一个好主意,如果是这种情况,可能会有所帮助。