如何将字符串转换为数字?以下 Bash 脚本无法按预期工作。
#!/bin/sh
mynum="0.02"
if [[ $mynum -lt 1 ]];then
echo "low"
else
echo "high"
fi
错误消息
stack.sh: line 5: [[: 0.02: syntax error: invalid arithmetic operator (error token is ".02")
最佳答案
问题是 bash
通常只支持整数运算;您需要将 float 或复杂的数学转为 dc
或 bc
。
在这种情况下您可能会作弊:
case $mynum in
0 | 0.* | .* | -*)
echo low
;;
*)
echo high
;;
esac
但这显然并不普遍适用。
关于bash - 转换为数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5959364/