首页 » ORACLE, 系统相关 » linux登录提示”[: =: unary operator expected”

linux登录提示”[: =: unary operator expected”

以前在linux上安装的一台oracle的机器,每次本机登录都会提示”[: =: unary operator expected”,显然是profile出了问题

因为配置oracle时,会对用户oracle做系统资源限制加下profile中

#new add
if [ $USER = "oracle" ]; then
  if [ $SHELL = "/bin/ksh" ]; then
    ulimit -p 16384
    ulimit -n 65536

  else
    ulimit -u 16384 -n 65536
  fi
fi

提示那个错误的原因很有可能就出在$USER这个环境变量没有得到值,那么

if [ $USER = "oracle" ];

就变成了
if [= “oracle” ];显示[不等于oracle面后面还有个]不匹配,所以检查整个脚本会发现这段脚本的位置放到了$user赋值的前面了,改到$USER赋值那段脚本的后面就可以了

网上还有其他方法是if [[ $USER = “oracle” ]];再套一层[]显然有点像java里的try catch excetion throw 异常,这有点太不负责,应该解决问题而不是忽略!

打赏

对不起,这篇文章暂时关闭评论。