bash - 如何判断变量是字符串还是数字

时间:2013-07-28 11:33:25

标签: bash

在bash shell中,我们如何判断变量是字符串还是数字?这里,number可以是整数或浮点数。此链接"How to judge a variable's type as string or integer"似乎只能使用整数。

2 个答案:

答案 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识别为数字