三分钟掌握linux shell脚本流程控制语法

简介: 三分钟掌握linux shell脚本流程控制语法

流程控制

这一次我们的主题是shell脚本中的流程控制,gif动图所见即所得,语法如下。


if else

#!/bin/bash
if [ $1 == $2 ];then
   echo "a == b"
elif [ $1 -gt $2 ];then
   echo "a > b"
elif [ $1 -lt $2 ];then
   echo "a < b"
else
   echo "error"
fi

2019092310383965.gif


for 循环


#!/bin/bash
for loop in 1 2 3 4 5
do
    echo "The value is: $loop"
done


20190923103839351.png

while 循环


#!/bin/bash
i=0
while [[ $i<3 ]]
do
    echo $i
    let "i  "
done


输出


20190923103839567.png


while的判断条件可以从键盘输入,成为交互式的脚本


#!/bin/bash
echo 'press <CTRL-D> exit'
while read num
do
    echo "you input is $num"
done


20190923103839796.gif


ps: until循环与while循环相反,until直到判断条件为真才停止,语法同while完全一样就不多介绍了。

死循环


while true
do
    command
done


或者


for (( ; ; ))
do
    command
done


死循环,使用Ctrl C退出。

跳出循环

就是continuebreak

case

#!/bin/bash
case $1 in
    1) echo 'You have chosen 1'
    ;;
    2) echo 'You have chosen 2'
    ;;
    *) echo 'You did not enter a number between 1 and 2'
    ;;
esac

2019092310384014.gif

同编程语言中的switch一样,只有语法略微不同 ,esaccase的结束符。

每个模式,用右括号结束),如果没有任何匹配的就用*),每个模式用;;两个分号连一起结束。

case 值 in
模式1)
    command1
    command2
    ...
    commandN
    ;;
模式2)
    command1
    command2
    ...
    commandN
    ;;
esac


相关文章
|
8天前
|
Web App开发 Java Linux
Linux之Shell基本命令篇
Linux之Shell基本命令篇
Linux之Shell基本命令篇
|
15天前
|
Linux Shell
Linux手动清理Linux脚本日志定时清理日志和log文件执行表达式
Linux手动清理Linux脚本日志定时清理日志和log文件执行表达式
70 1
|
18天前
|
Linux Shell Python
Linux执行Python脚本
Linux执行Python脚本
26 1
|
9天前
|
Shell Linux
【Linux】12. 模拟实现shell
【Linux】12. 模拟实现shell
25 2
|
14天前
|
Ubuntu Unix Linux
【Linux/Ubuntu】Linux/Ubuntu运行python脚本
【Linux/Ubuntu】Linux/Ubuntu运行python脚本
|
15天前
|
Linux Shell
Linux脚本获取输入参数判断文件还是文件路径
Linux脚本获取输入参数判断文件还是文件路径
12 4
|
19天前
|
Linux Shell 调度
linux脚本任务调度
Linux的`crontab`用于计划任务,按照预设时间执行脚本或命令。步骤包括:1) 创建并赋予执行权限的脚本,如`backup.sh`;2) 使用`crontab -e`编辑任务列表;3) 添加cron表达式(如`0 1 * * * /path/to/backup.sh`,表示每天凌晨1点执行脚本);4) 保存并启动/检查cron服务。cron表达式包含分钟、小时、日期、月份和周几字段。根据需求调整表达式以满足不同任务需求。
9 3
|
19天前
|
运维 监控 Linux
linux脚本自动化运维任务
Linux自动化运维通过脚本提升效率,涵盖服务管理(启停服务、异常恢复)、系统监控(资源警报)、日志管理(清理分析)、备份恢复、补丁更新、自动化部署(如Ansible)、网络管理、定时任务(cron)和故障排查。结合shell、Python及工具,形成高效运维体系。
18 3
|
21天前
|
Shell C语言 C++
【Shell 编程指南】shell中的(),{}几种语法用法
【Shell 编程指南】shell中的(),{}几种语法用法
16 0
|
22天前
|
存储 算法 Shell
【Linux 环境变量相关】深入理解Linux下 CMake、Shell 与环境变量的交互(二)
【Linux 环境变量相关】深入理解Linux下 CMake、Shell 与环境变量的交互
44 0