我的任务是验证$VAL
NUMBERcould be float or integer
是否小于NUMBER 1
是的
val=0.999
[[ $val -lt 1 ]] && echo less then 1
-bash: [[: 0.999: syntax error: invalid arithmetic operator (error token is ".999")
比较任何$val
数字(浮点或整数)并测试其值是否小于1的正确方法是什么
解决方案还可以使用Perl/Python line linear,这将是我的bash脚本的一部分
使用awk:
用-v将变量$val传递给awk,当它小于1时,打印“小于1”
因为shell本身不能对浮点数执行操作 bc通常用于此目的 意图在您的情况下,它将是:
由于您特别询问了Perl/Python,因此 在Python中可以做到这一点:
最后,Perl:
使用
bc
。将要计算的表达式写入bc
的标准输入,它将输出结果。在这种情况下,布尔表达式将生成0(如果为false),1(如果为true)相关问题 更多 >
编程相关推荐