【Linux】:shell循环语句
运行Shell脚本有两种方法:
1、vi test.sh
#! /bin/bash
#编写内容
运行sh test.sh
2、chmod +x ./test.sh #脚本具有执行权限
./test.sh #执行脚本
if条件判断
单分支if条件:
if [ 条件判断式 ] then 程序fi
注意:中括号与条件判断式之间有空格
双分支if条件:
if [ 条件判断式 ] then条件成立时,执行的程序 else条件不成立时,执行的另一个程序fi
多分支if条件:
if [ 条件判断式1 ] then当条件判断式1成立时,执行程序1elif [ 条件判断式2 ] then当条件判断式2成立时,执行程序2…更多条件elif…else 当所有条件都不成立时,最后执行此程序fi
多分支case条件语句
case语句和if…elif…else语句一样都是多分支条件语句,不过和if多分支条件语句不同的是,case语句只能判断一种条件关系,而if语句可以判断多种条件关系。
case $变量名 in “值1”) 如果变量的值等于值1,则执行程序1 ;; “值2”) 如果变量的值等于值2,则执行程序2 ;; …省其他分支… *) 如果变量的值都不是以上的值,则执行此程序 ;;esac
for循环
这种语法中for循环的次数,取决于in后面值的个数(空格分隔),有几个值就循环几次,并且每次循环都把值赋予变量。
也就是说,假设in后面有三个值,for会循环三次,第一次循环会把值1赋予变量,第二次循环会把值2赋予变量,以此类推。
for 变量 in 值1 值2 值3 …(可以是一个文件等) do 程序 done
第二种:
比如初始值i=1;循环控制条件i<=100;变量条件i++
for((初始值;循环控制条件;变量条件)) do程序 done
While循环
while循环,只要条件为true,就一直执行程序。
While [ 条件判断式 ] do 程序 done
until循环
和while循环相反,until循环时只要条件判断式不成立则进行循环,并执行循环程序。一旦循环条件成立,则终止循环。
Until [ 条件判断式 ] do 程序 done