Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash 如何判断变量';s类型为字符串或整数_Bash - Fatal编程技术网

Bash 如何判断变量';s类型为字符串或整数

Bash 如何判断变量';s类型为字符串或整数,bash,Bash,这是我的代码: if [ $value == "^[[:digit:]]*$" ] then echo "number" else echo "other" fi 即使我设置value=1test不执行正则表达式,程序似乎也不会回显“number” [[ $value =~ ^[0-9]+$ ]] test不执行正则表达式 [[ $value =~ ^[0-9]+$ ]] +我赢了。同样重要的是OP不需要在正则表达式周围加引号。加上问题缺少一个,那么…我能问一下~指的是什么

这是我的代码:

if [ $value == "^[[:digit:]]*$" ]
then
    echo "number"
else
    echo "other"
fi

即使我设置
value=1
test
不执行正则表达式,程序似乎也不会回显“number”

[[ $value =~ ^[0-9]+$ ]]

test
不执行正则表达式

[[ $value =~ ^[0-9]+$ ]]

+我赢了。同样重要的是OP不需要在正则表达式周围加引号。加上问题缺少一个
,那么
…我能问一下
~
指的是什么吗?简短回答:=~是一个不同的运算符,就像==和=+我赢了。同样重要的是OP不需要在正则表达式周围加引号。加上问题缺少一个
,那么
…我能问一下
~
指的是什么吗?简短回答:=~是一个不同的运算符,就像==和=