各位帮我看看这个小脚本为什么会出错?
-
- 帖子: 22
- 注册时间: 2008-02-22 22:17
- 联系:
各位帮我看看这个小脚本为什么会出错?
#!/bin/csh
set energy = 2
if ($energy > 0.5) then
echo " you are right "
else
echo " you are wrong "
endif
运行出现错误提示:
if: Badly formed number.
如果我改if ($energy > 0.5) 为if ($energy > 1)则运行正确。
现在我要对0.5这样的小数进行大小关系判定,该怎么办?
谢谢!
set energy = 2
if ($energy > 0.5) then
echo " you are right "
else
echo " you are wrong "
endif
运行出现错误提示:
if: Badly formed number.
如果我改if ($energy > 0.5) 为if ($energy > 1)则运行正确。
现在我要对0.5这样的小数进行大小关系判定,该怎么办?
谢谢!
- eexpress
- 帖子: 58428
- 注册时间: 2005-08-14 21:55
- 来自: 长沙
-
- 帖子: 1453
- 注册时间: 2008-05-24 8:30
Re: 各位帮我看看这个小脚本为什么会出错?
只能做整数比较。
如果要做小数比较,你可以分别比较整数部分和小数部分,或者用bc去做减法再看结果的符号,或者想一些其它方法。
如果要做小数比较,你可以分别比较整数部分和小数部分,或者用bc去做减法再看结果的符号,或者想一些其它方法。
-
- 帖子: 22
- 注册时间: 2008-02-22 22:17
- 联系:
Re: 各位帮我看看这个小脚本为什么会出错?
好像没那么简单:我要实现这样的目的,麻烦你们再帮忙看看?举例:aerofox 写了:只能做整数比较。
如果要做小数比较,你可以分别比较整数部分和小数部分,或者用bc去做减法再看结果的符号,或者想一些其它方法。
代码: 全选
set en = (0.06 0.2)
foreach energy($en)
if ($energy >= 0.05 && $energy < 0.15) then
set y=3
else if ($energy > 0.15 && $energy <= 0.25) then
set y=4
endif
end
谢谢了哈
- yjcong
- 帖子: 2470
- 注册时间: 2006-02-28 3:11
Re: 各位帮我看看这个小脚本为什么会出错?
a=8
if (( 6 > `echo $a/2|bc` ));then
echo 111
else
echo 222
fi
输出结果为111
if (( 6 > `echo $a/2|bc` ));then
echo 111
else
echo 222
fi
输出结果为111
一梦三年,
松风依旧,
萝月何曾老.
灵幽听微, 谁观玉颜?
灼灼春华, 绿叶含丹.
松风依旧,
萝月何曾老.
灵幽听微, 谁观玉颜?
灼灼春华, 绿叶含丹.
-
- 帖子: 22
- 注册时间: 2008-02-22 22:17
- 联系:
Re: 各位帮我看看这个小脚本为什么会出错?
非常谢谢,只可惜我对bc不熟悉,看不懂你所写的,无法做更多的修改。yjcong 写了:a=8
if (( 6 > `echo $a/2|bc` ));then
echo 111
else
echo 222
fi
输出结果为111
-
- 帖子: 22
- 注册时间: 2008-02-22 22:17
- 联系:
Re: 各位帮我看看这个小脚本为什么会出错?
yjcong, yjcong 写道:
a=8
if (( 6 > `echo $a/2|bc` ));then
echo 111
else
echo 222
fi
输出结果为111
非常谢谢,只可惜我对bc不熟悉,看不懂你所写的,无法做更多的修改。
a=8
if (( 6 > `echo $a/2|bc` ));then
echo 111
else
echo 222
fi
输出结果为111
非常谢谢,只可惜我对bc不熟悉,看不懂你所写的,无法做更多的修改。
- eexpress
- 帖子: 58428
- 注册时间: 2005-08-14 21:55
- 来自: 长沙
-
- 帖子: 22
- 注册时间: 2008-02-22 22:17
- 联系:
Re: 各位帮我看看这个小脚本为什么会出错?
不懂,麻烦根据我写的给我写两条看看,我好理解。eexpress 写了:使用bc -l
关键是我还没有看到过关于bc的有关知识
谢了哦
-
- 帖子: 1453
- 注册时间: 2008-05-24 8:30
- eexpress
- 帖子: 58428
- 注册时间: 2005-08-14 21:55
- 来自: 长沙
Re: 各位帮我看看这个小脚本为什么会出错?
代码: 全选
☎ [ `echo 9/2 |bc -l` \< 4 ] && echo ok || echo err
err
☎ [ `echo 9/2 |bc -l` \< 5 ] && echo ok || echo err
ok
你搞这bt的干嘛。如果涉及浮点运算。直接perl吧。这写法很丑陋的。lin那么多脚本的选择哦。
● 鸣学
- yjcong
- 帖子: 2470
- 注册时间: 2006-02-28 3:11
Re: 各位帮我看看这个小脚本为什么会出错?
指谁呢??eexpress 写了:可以不带-l的。代码: 全选
☎ [ `echo 9/2 |bc -l` \< 4 ] && echo ok || echo err err ☎ [ `echo 9/2 |bc -l` \< 5 ] && echo ok || echo err ok
你搞这bt的干嘛。如果涉及浮点运算。直接perl吧。这写法很丑陋的。lin那么多脚本的选择哦。
一梦三年,
松风依旧,
萝月何曾老.
灵幽听微, 谁观玉颜?
灼灼春华, 绿叶含丹.
松风依旧,
萝月何曾老.
灵幽听微, 谁观玉颜?
灼灼春华, 绿叶含丹.
- poweroff
- 帖子: 395
- 注册时间: 2008-12-13 15:03