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