Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

bash -- how to judge if a variable is a string or number

Tags:

bash

In bash shell, how do we judge if a variable is a string or number? Here, number could be an integer or a float. This link "How to judge a variable's type as string or integer" seems to only work integer.

like image 394
warem Avatar asked Nov 19 '25 13:11

warem


1 Answers

You could expand the proposed regular expression, dependent on the desired number format(s):

[[ $value =~ ^[0-9]+(\.[0-9]+)?$ ]] would recognize 2 or 2.4 as a number but 2. or .4 as a string.

[[ $value =~ ^(\.[0-9]+|[0-9]+(\.[0-9]*)?)$ ]] would recognize all 2, 2.4, 2. and .4 as numbers

like image 53
user2627497 Avatar answered Nov 21 '25 02:11

user2627497



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!