Shell学习-流程控制if、for、while、until、case、函数

If

格式:
if [ condition ] #注意[ 、] 要与condition左右空一格
then
commands #代码块 一行或者多行代码
elif [ condition 2]
then
commands
else
commands
fi

#if高级使用
if (()) #双小括号可以插入运算式
e.g.   if (( 1+1>2))

#if [[ ]] #双中括号可以中使用通配符
e.g.  if[[ $var ==w*]]  #变量var以w开头的值	  

#简写
# 条件为真采用&&符号链接命令块,条件为假采用||链接命令块;条件还是使用【】包裹起来
e.g.
[ $USER == 'root' ]&&echo "is root" || echo "not root"

for

seq 命令 ;
seq num1 num2 跟两位数表示输出num1直到num2
seq num1 num2 num3 跟三位数表示从num1开始,每次增加num2,只到到达num3

[root@localhost]# seq 1 2 10
1
3
5
7
9

for in list

for variable_name in {list}
     do
          commands
          …
     done
或者
for variable in a b c
     do
         commands
         …
     done
  或者不带列表时,由启动时来指定参数
for var
	do
		echo $var
	done

类C风格

for (( i=1;i<=10;i++))  
	do
		echo $i
	done

for循环控制

#break 跳出循环(当嵌套for循环时,break 后跟数字来指定跳出哪层循环,以最里层往外,从1开始)
for i in `seq 1 10`
  do
      echo $i
      if [ $i -eq 5 ]
			then
   			break
	  fi
done

#continue 跳过本次循环
for i in `seq 1 10`
  do
      if [ $i -eq 5 ]
			then
   			continue
	  fi
	   echo $i
	   sleep 2  #sleep 后跟数字来指定休息时间(秒);控制循环节奏;避免内存和CPU的巨大消耗
done


#exit 退出脚本释放资源
exit 0

# 无限循环
for (( ;; ))

while

适用于未知循环次数的循环

格式:

while [ condition ]
	do
		command...
	done

e.g.

var=1
while [ $var -le 5 ]
 do
     echo $var
     let var++
done
#无限循环
while :
	do
		commands
	done

#或者
while true
	do
		commands
	done
	
#break和continue用法同for

until

条件为假就进入循环;条件为真就退出循环

格式

until [ condition ]
	do
		command...
	done
#一般与while组合使用
i=10
while [ $i -le 20 ]
do
	echo $i
	let i++
	until [ $i -le 20 ]
		do
		    echo $i
            let i++
            [ $i -eq 30 ]&&break
		done
done

case

格式:

case $var in             定义变量;var代表是变量名
condition1)              模式1;用 | 分割多个模式,相当于or
    command1            需要执行的语句
;;                  两个分号代表命令结束
condition2)
    command2
;;
condition3)
    command3
;;
*)              default,不满足以上模式,默认执行*)下面的语句
    command4
;;
esac							esac表示case语句结束

函数

#格式1
函数名 () {
    代码块
    return N
    }

#格式2
function 函数名 {
      代码块
      return N
      }
      
      
#.return默认返回函数中最后一个命令的退出状态,也可以给定参数值,该参数值的范围是0-256之间。
#.如果没有return命令,函数将返回最后一个Shell的退出值。

#函数调用
函数名   

#函数的命令行调用
##首先需要source 脚本
##函数名  调用指定函数
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值