1 问题由来:(参见)
我在FC5下安装JDK15时建立了两个静态链接,
#cd /usr/bin \\
#ln -s -f /usr/local/jdk1.5.0_05/jre/bin/java \\
#ln -s -f /usr/local/jdk1.5.0_05/bin/javac\\
ln
命令的 -f 参数的作用是强制覆盖原来已经存在的 /usr/local/java 静态链接文件。由于 jdk 目录下的 bin 文件夹内容可以代替 /jdk1.5.0_02/jre/bin 的内容,因而也可以直接使用 /jdk1.5.0_02/bin 这个路径。\
之后当我打开besh时出现下列错误提示

[huan@Huan-Linux ~]$ su
口令:
bash: \: command not found
bash: \: command not found
bash: \: command not found
bash: \: command not found
bash: export: `\': not a valid identifier
[root@Huan-Linux huan]#


2
分析问题
         
在普通用户huan下登录shell并不会出现上述错误提示,root帐户下却会出现,初步断定是环境变量配置的问题,并且不同权限用户的shell怕配置文件可能不同。

3
验证问题所在
先看一下关于bash的配置文档
/etc/bashrc
存有整个系统的别名和功能;
/etc/profile
存有整个系统的环境参数和启动程式;
$HOME/.bashrc
存有用户的的别名和功能;每次打开新的 shell 时,要执行的命令
$HOME/.bash_profile
存有用户的环境参数和启动程式;
$HOME/.bash_logout
存有退出系统时的结束方式;
$HOME/.inputrc
存有主要绑定数值和其他位元数值;

  
来到/home/huan
ls -a
cat .bashrc
显示如下:
[huan@Huan-Linux ~]$ cat .bashrc
# .bashrc

# Source global definitions
if [ -f /etc/bashrc ]; then
        . /etc/bashrc
fi

# User specific aliases and functions

而在/root
ls -a
cat .bashrc
显示如下:
# .bashrc

# User specific aliases and functions

alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
JAVA_HOME=/usr/local/jdk1.5.0_05 \\
JAVA_BIN=/usr/local/jdk1.5.0_05/bin \\
PATH=$PATH:$JAVA_HOME/bin \\
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar \\
export JAVA_HOME JAVA_BIN PATH CLASSPATH \\
# Source global definitions
if [ -f /etc/bashrc ]; then
    . /etc/bashrc
fi

 
从两者对比可以看出来,在boot启动shell时会多执行关于java环境变量的配置,而错误提示正是由于没有正确找到java路径引起的。
  
4
问题解决
 
解决方法很简单,就是修改.bashrc 将其中的\\全部去掉。