在bash shell中,我们如何判断变量是字符串还是数字?这里,number可以是整数或浮点数。此链接"How to judge a variable's type as string or integer"似乎只能使用整数。
答案 0 :(得分:4)
根据提到的问题,以下是我的工作:
[[ $value =~ ^[0-9]+(\.[0-9]+)?$ ]]
答案 1 :(得分:3)
您可以扩展建议的正则表达式,具体取决于所需的数字格式:
[[ $value =~ ^[0-9]+(\.[0-9]+)?$ ]]
会将2或2.4识别为数字,但将2.或.4识别为字符串。
[[ $value =~ ^(\.[0-9]+|[0-9]+(\.[0-9]*)?)$ ]]
会将所有2,2.4,2和.4识别为数字