forwhilecase

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了forwhilecase相关的知识,希望对你有一定的参考价值。

一、for语句

for 变量名 in 取值列表

do

命令

done

例如:

1)vim /root/user.txt

u01
u02
u03
u04

2)vim /root/useradd.sh

#!/bin/bash

for i in cat /root/user.txt

do

useradd $i

done

3)vim /root/useradd_1.sh

#!/bin/bash

for i in {1..100}

do

useradd hehe_$i

done

4)vim /root/scan_ip.sh

IP=192.168.10.

for i in {1..254}

do

ping -w 1 $IP$i &>/dev/null

if [ $? -eq 0 ]

then

echo "$IP$i is up"

else

 echo "$IP$i is down"

fi

done

注:for循环,依次将值赋予给变量执行,知道将其值取完毕为止

二、while语句

while [ 条件表达式 ]

do

命令

done

例如:

A=u0

B=0

while [ $B -le 5 ]

do

useradd $A$B

let B++

done

例如:

#!/bin/bash

PRE=expr $RANDOM % 1000
TIME=0

echo "你猜猜多少,范围为1-999"

while true

do

read -p "输入数字" INT

let TIME++

if [ $TIME -eq 3 ] //规定猜测次数为3

then

  exit 0

fi

if [ $INT -eq $PRE ]

then

  echo "你猜对了"

  echo "你一共猜了$TIME"

  return 0

elif [ $INT -gt $PRE ]

 then

  echo "你猜高了"

else

  echo "你猜低了"

fi

done

注:while循环语句,通过条检测试语句执行,当满足条件则一直循环,知道不满足为止,跳出循环

三、case语句

case $1 in

模块1)

命令

;;

模块2)

命令

;;

模块3)

命令

;;

*)

命令

;;

esac

例如:

vim network.sh

#!/bin/bash

case $1 in

start)

echo "dovecot is start $(echo -e "33[32m [ok] 33[0m")"

;;

stop)

echo "dovecot os stop $(echo -e "33[32m [ok] 33[0m")"

;;

restart)

$0 stop

$0 start

;;

status)

netstat -utpln | grep 110 &>/dev/null

if [ $? -eq 0 ]

then

echo "dovecot is start status"

else

echo "dovecot is stop status"

fi

;;

*)

echo "$0 start | stop | restart | status"

;;

esac

注:case语句一般用于服务控制,通过用户输入的不同的参数执行下列的不同命令、

四、函数

将循环重新命令定义为一个函数,可多个地方重复调用

函数名(){
命令
}

例:

vim /sh/hanshu.sh

#!/bin/bash

a(){
echo "xxx is start"
}

b(){
echo "xxx is stop"
}

c(){
echo "$0 is start | stop"
}
case $1 in

start)
a
;;
stop)
b
;;
*)
c
;;
esac

以上是关于forwhilecase的主要内容,如果未能解决你的问题,请参考以下文章

Shell 脚本应用(forwhilecase语句应用)

微信小程序代码片段

VSCode自定义代码片段——CSS选择器

谷歌浏览器调试jsp 引入代码片段,如何调试代码片段中的js

片段和活动之间的核心区别是啥?哪些代码可以写成片段?

VSCode自定义代码片段——.vue文件的模板