代码改变世界

-bash: ulimit: pipe size: cannot modify limit: Invalid argument

2015-01-21 22:42  潇湘隐者  阅读(6565)  评论(0编辑  收藏  举报

从root账号切换到oracle账号时,出现了“-bash: ulimit: pipe size: cannot modify limit: Invalid argument”提示,一般出现这个错误是因为在设置.bash_profile时,没有注意空格的缘故造成。例如(注意红色部分)

例1:

if [ $USER = "oracle" ]; then
  if [$SHELL = "/bin/ksh" ]; then
    ulimit -p 16384
    ulimit -p 65536
  else
    ulimit -u 16384 -n 65536
  fi
fi

例2:

if [ $USER = "oracle" ]; then
  if [ $SHELL="/bin/ksh" ]; then
    ulimit -p 16384
    ulimit -p 65536
  else
    ulimit -u 16384 -n 65536
  fi
fi

今天帮一个同事看这样的问题时,遇到了一个特例,如下所示,ulimit -u 16384-n 65536少了空格,也出现了这个错误,正确的写法ulimit -u 16384 -n 65536

clip_image001