Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
在bash shell中,我们如何判断一个变量是字符串还是数字?这里,数字可以是整数或浮点数。此链接“如何判断变量的类型为字符串或整数”似乎仅适用于整数。
根据提到的问题,以下为我做的工作:
[[ $value =~ ^[0-9]+(\.[0-9]+)?$ ]]
您可以根据所需的数字格式扩展建议的正则表达式:
[[ $value =~ ^[0-9]+(\.[0-9]+)?$ ]]会将 2 或 2.4 识别为数字,但将 2. 或 .4 识别为字符串。
[[ $value =~ ^(\.[0-9]+|[0-9]+(\.[0-9]*)?)$ ]]会将所有 2、2.4、2. 和 .4 识别为数字
[[ $value =~ ^(\.[0-9]+|[0-9]+(\.[0-9]*)?)$ ]]