永发信息网

shell 编程 里面 if 嵌套 for 语句的匪夷所思的 事情!!

答案:2  悬赏:60  手机版
解决时间 2021-03-26 06:33
下面是我的小代码:
#!/bin/bash
RATEMIN1=40
RATEMIN5=60
if [ $RATEMIN1 -le 50 ] && [ $RATEMIN5 -ge 50 ]
then
for i in 1 2 3 4 5
do

if [ $RATEMIN$i -ge 50 ]
then
echo "FUCK!"
break
fi
continue
done
fi

运行之后,没有结果显示,但是如果我把 RATEMIN1和2的值颠倒,然后把第一个if语句里面的条件改成 -le ,那就有结果显示出来!!,我很奇怪我这到底问题出在哪?求高手指点!!!我运行的环境是solaris10g

上面说的把 RATEMIN1和2的值颠倒后,然后是把if [ $RATEMIN1 -le 50 ] && [ $RATEMIN5 -ge 50 ] 改成 if [ $RATEMIN1 -ge 50 ] && [ $RATEMIN5 -le 50 ] 就有结果了~~
最佳答案
#!/bin/bash
RATEMIN1=40
RATEMIN5=60
echo $RATEMIN1 -le 50
echo $RATEMIN5 -ge 50
if [ $RATEMIN1 -le 50 ] && [ $RATEMIN5 -ge 50 ]
then
for i in 1 2 3 4 5
do
eval value='$'RATEMIN$i
if [ ! -n "$value" ];then
continue
fi
if [ $value -ge 50 ]
then
echo "FUCK!"
break
fi
continue
done
fi
全部回答
改成如下即可: RATEMIN1=40 RATEMIN5=60 if [ $RATEMIN1 -le 50 ] && [ $RATEMIN5 -ge 50 ] then for i in 1 2 3 4 5 do eval tmp=\${RATEMIN$i} if [ "$tmp" -ge 50 ] then echo "tmp=$tmp HI
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
苍之纪元轻松模式怎么用 苍之纪元轻松模式攻
晚安心语:若我回头,你还在不在
湖南常德临澧是不是就是澧县旁边的意思?在澧
我的肉肉养了半年多快一年了,最近紫珍珠,简
汛期是什么意思啊?
西瓜属于凉性还是热性水果呢?
品读《诗经》(初次看),应该按顺序品读,还
My sister , my family are proud, was admit
群星8、9、10、11宫是什么意思?
亲,像结婚拍的艺术照吗?
大神,有没有三菱自动化日本账号和密码?能否
支付宝钱已入袋给对方回个话什么意思
10分之5-括号开1/10+9分之2括号b=
汉字简化方案的三个字表
jpg格式的图片用QQ发送时显示webp
推荐资讯
明溪有什么好玩的地方
怎样煮绿豆沙,绿豆和水分量怎样?
北纬23.5度,东经90度是哪个位置
家用10万元汽车有哪些,你的选择是什么?
鹿乃プラトニック_ラグ中文歌词
公司要通知全体员工签订劳动合同。要怎么写?
电饭锅的老式两孔插座可用三脚插座替代吗
争上游,做实事,守底线是什么时候开的
我们的城市幼儿园小舞台演讲
一个人弯腰成语
为什么老婆对谁人都很好,唯独对我很苛刻?
一人站在山上,背后有间房,山下有群人,猜成
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?