循环

一、[[ $i =~ ^[0-9]+$ ]] && echo 1 什么意思?

=~ 表示的是匹配

&& 是短路与,前者若为假则不执行后者

[[ ]] 是if判断使用正则表达式的固定格式

^ 是开头,$ 是结尾

[0-9] 是1个范围内的数字

+ 是匹配前面1到n个

^[0-9]+$ 就是:以数字开头并结尾的,整行都是数字。

整句的意思是:如果变量$i 匹配到了以1到多个数字开头并结尾的,那么就 echo 1
原文链接:https://blog.csdn.net/dahailantian1/java/article/details/78584893

二、while循环的done 后接一个重定向

#! /bin/bash

echo -n "File> "
read file
n=0

while read line 
do
        let n=$n+1;
        echo "$n: $line"
done < $file
exit 0

不使用管道,使用重定向,可以有效规避因为新建进程而导致的变量值无法保留的问题。

 三、while循环的变量值检查

  (1)

  

原文地址:https://www.cnblogs.com/ytdyz/p/12675518.html