3

在bash shell中,我们如何判断一个变量是字符串还是数字?这里,数字可以是整数或浮点数。此链接“如何判断变量的类型为字符串或整数”似乎仅适用于整数。

4

2 回答 2

4

根据提到的问题,以下为我做的工作:

[[ $value =~ ^[0-9]+(\.[0-9]+)?$ ]]
于 2013-07-28T11:46:22.300 回答
3

您可以根据所需的数字格式扩展建议的正则表达式:

[[ $value =~ ^[0-9]+(\.[0-9]+)?$ ]]会将 2 或 2.4 识别为数字,但将 2. 或 .4 识别为字符串。

[[ $value =~ ^(\.[0-9]+|[0-9]+(\.[0-9]*)?)$ ]]会将所有 2、2.4、2. 和 .4 识别为数字

于 2013-07-28T11:53:18.490 回答