日期:2014-05-16  浏览次数:20591 次

一个shell的比较大小问题
刚开始学linux shell,请教个简单问题
就是比较两个整数的大小:首先生成一个随机数和5比较大小

代码如下:

N1 = 'expr RANDOM % 10'
N2 = 5

if [ $N1 = $N2 ]
  then 
  echo "=="
else
  echo "!="
fi


运行的时候老是提示错误:
if [ N1 = N2 ]这一行
too many arguments

请大侠们帮助看下为什么呢?多谢




------解决方案--------------------

if [ "$N1" -ge "$N2" ]
------解决方案--------------------
N1 = 'expr RANDOM % 10'
这个用错了,应该是获取$RANDOM的值,需要$前缀,而不是操作RANDOM这个变量。
------解决方案--------------------
探讨

引用:

N1 = 'expr RANDOM % 10'
这个用错了,应该是获取$RANDOM的值,需要$前缀,而不是操作RANDOM这个变量。


修改为N1 = 'expr $RANDOM % 10'
还是有错误啊

还是在if这一行提示错误:
[: expr $RANDOM % 10:integer expresssion expected

请高……