centos su切换用户 -bash [root command not found

原创
2011/07/11 11:16
阅读数 1W

服务器上一用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

 

展开阅读全文
打赏
0
1 收藏
分享
加载中
更多评论
打赏
0 评论
1 收藏
0
分享
返回顶部
顶部