【玩转Linux操作】一文带你明白Shell的判断,循环语句

专栏【玩转Linux操作】
喜欢的诗句:更喜岷山千里雪 三军过后尽开颜。
音乐分享【如愿】
大一同学小吉,欢迎并且感谢大家指出我的问题

文章目录

  • 判断语句
    • ⭐单层if
      • 示例
    • ⭐单层if-else
      • 示例
    • ⭐多层if-elif-elif-else
      • 示例
    • ⭐case...esac形式
      • 示例
  • 循环语句
    • ⭐for...in...do...done
      • 示例
        • 输出a 2 cc,每个元素占一行
        • 输出当前路径下的所有文件名,每个文件名占一行
        • 输出1-10
    • ⭐for((...;...;...))do...done
      • 示例
    • ⭐while...do...done循环
      • 示例
    • ⭐until...do...done循环
      • 示例
  • break命令
    • ⭐示例
  • continue命令
  • 死循环的处理方式

【玩转Linux操作】一文带你明白Shell的判断,循环语句_第1张图片

判断语句

注意写空格

if … then 形式
类似于C/C++里面的if-else语句

⭐单层if

if condition
then
	语句1
	语句2
	...
fi

示例

在这里插入图片描述
【玩转Linux操作】一文带你明白Shell的判断,循环语句_第2张图片
在这里插入图片描述

⭐单层if-else

if condition
then 
	语句1
	语句2
	...
else
	语句1
	语句2
	...
fi

示例

【玩转Linux操作】一文带你明白Shell的判断,循环语句_第3张图片
在这里插入图片描述

⭐多层if-elif-elif-else

if condition
then
	语句1
	语句2
	...
elif condition
then
	语句1
	语句2
	...
elif condition
then
	语句1
	语句2
	...
else
	语句1
	语句2
	...
fi

示例

【玩转Linux操作】一文带你明白Shell的判断,循环语句_第4张图片
在这里插入图片描述

⭐case…esac形式

类似于C/C++的switch语句

case $变量名称 in
	值1)
		语句1
		语句2
		...
		;;  #类似于C/C++的break
	值2)
		语句1
		语句2
		...
		;;  
	*)		#类似于C/C++的default
		语句1
		语句2
		...
		;;
esac

示例

【玩转Linux操作】一文带你明白Shell的判断,循环语句_第5张图片
在这里插入图片描述

循环语句

注意写空格

⭐for…in…do…done

for var in val1 val2 val3
do
	语句1
	语句2
	...
done

示例

输出a 2 cc,每个元素占一行

【玩转Linux操作】一文带你明白Shell的判断,循环语句_第6张图片

【玩转Linux操作】一文带你明白Shell的判断,循环语句_第7张图片

输出当前路径下的所有文件名,每个文件名占一行

【玩转Linux操作】一文带你明白Shell的判断,循环语句_第8张图片
【玩转Linux操作】一文带你明白Shell的判断,循环语句_第9张图片

输出1-10

【玩转Linux操作】一文带你明白Shell的判断,循环语句_第10张图片
【玩转Linux操作】一文带你明白Shell的判断,循环语句_第11张图片

【玩转Linux操作】一文带你明白Shell的判断,循环语句_第12张图片
【玩转Linux操作】一文带你明白Shell的判断,循环语句_第13张图片

⭐for((…;…;…))do…done

for((expression;condition;expression))
do
	语句1
	语句2
	...
done

示例

输出0到9
【玩转Linux操作】一文带你明白Shell的判断,循环语句_第14张图片

【玩转Linux操作】一文带你明白Shell的判断,循环语句_第15张图片

⭐while…do…done循环

while condition
do
	语句1
	语句2
	...
done

示例

输入name,按下CTRL+d后停止输入

【玩转Linux操作】一文带你明白Shell的判断,循环语句_第16张图片

【玩转Linux操作】一文带你明白Shell的判断,循环语句_第17张图片

⭐until…do…done循环

当条件为真时结束循环

until condition
do
	语句1
	语句2
	...
done

示例

当用户输入yesYES时结束,否则一直输入
【玩转Linux操作】一文带你明白Shell的判断,循环语句_第18张图片
【玩转Linux操作】一文带你明白Shell的判断,循环语句_第19张图片

break命令

跳出当前一层循环

Linux中break不能跳出case语句

⭐示例

如果输入的不是文件结束符,那么会输出1,2,3,4,5,6,7
如果输入的是文件结束符,那么会直接结束循环
Linux中的文件结束符(EOF)是CTRL+d

while read name 
do 
	for((i=1;i<=10;i++))
	do
		case $i in
			8)
				break
				;;
			*)
				echo $i
				;;
		esac
	done
done

【玩转Linux操作】一文带你明白Shell的判断,循环语句_第20张图片
【玩转Linux操作】一文带你明白Shell的判断,循环语句_第21张图片

continue命令

for ((i=1;i<=10;i++))
do
	if [ `expr $i % 2` -eq 0 ]
	then
		continue
	fi
	echo $i
done

【玩转Linux操作】一文带你明白Shell的判断,循环语句_第22张图片
【玩转Linux操作】一文带你明白Shell的判断,循环语句_第23张图片

死循环的处理方式

输入CTRL+c即可
否则可以直接关闭进程
1.所有top命令找到该进程的PID
2.输入kill -9 PID即可关掉此进程

如果大家有不明白的地方,或者文章有问题,欢迎大家在评论区讨论,指正

你可能感兴趣的:(玩转Linux操作,linux,运维,服务器)