[[ $i =~ ^[0-9]+$ ]] && echo 1 的解释
=~ 表示的是匹配 && 是前一个命令为真 才执行后一个命令
[[ ]] 是if判断使用正则表达式的固定格式
^ 是以什么开头
[0-9]是表示范围内都是数字 +表示1到多个
$是结尾
^[0-9]+$ 就是 以数字开头并结尾的 整行都是数字整句的意思:如果 变量$i 匹配到了 以1到多个数字开头并结尾的 那么 就 echo 1
原文:https://blog.csdn.net/dahailantian1/article/details/78584893