服务器上一用su - 切换用户就会提示 -bash : [root command not found
切换tomcat就变 [tomcat 切换oracle用户就变[oracle 总之就是一切换就提示,但是正常运行。
这个原因总会是环境设置的问题,我找了很久,把profile看了无数遍,最后给我抓着了。
这个是安装oracle后出现的,由于偷懒粘贴在设置profile的时候贴成了
if [$USER = "oracle"]; then
if [$SHELL = "/ben/ksh"];then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
其实[ 和$USER之间需要空格来分离的。连在一起就成了一个变量[root之类的,给转义了。因此我加了空格后再source /etc/profile就正常了。同样下面的$shell 也得空格隔开,以避免su - oracle时 警告/bin/bash no such file or directory.修改如下:
if [ $USER = "oracle" ]; then
if [ $SHELL = "/ben/ksh" ];then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi