while+case

一.while循环:

重复测试摸个条件,只要条件成立反复执行。

条件可以是:测试表达式,也可以是布尔值true(条件永远为真)和false(条件永远为假)

[[email protected] bin]# cat useradd_while.sh   ##将下面脚本改写为新建用户的脚本

#!/bin/bash

PRE=stu

i=0

while [ $i -le 10 ];do

#useradd $PRE$i

#echo 123123 |passwd --stdin $PRE$i

userdel -r $PRE$i

#i=$(expr $i + 1)

let i++

done

1.函数RANDOM、let、exit:

RANDOM是生成随机数的一个函数。

[[email protected] bin]# echo $RANDOM  ##生成随机数

[[email protected] bin]# expr $RANDOM % 100  ##获取100内的随机数

27

[[email protected] bin]# expr $RANDOM % 1000   ##获取1000内的随机数

336

let命令的作用是对变量进行自加减操作:

[[email protected] bin]# i=1

[[email protected] bin]# let i++

[[email protected] bin]# echo $i

2

[[email protected] bin]# let ++i

[[email protected] bin]# echo $i

3

[[email protected] bin]# let i--

[[email protected] bin]# echo $i

2

[[email protected] bin]# expr $i + 1

综合应用:

[[email protected] bin]# cat price_guess.sh

#!/bin/bash

PRICE=$(expr $RANDOM % 1000)

TMS=0

echo "please insert a number like this(1-999)"

while true;do

read -p "please give number:" INT

let TMS++

if [ $INT -eq $PRICE ];then

echo "your luckly. right! "

echo "Your guess $TMS"

exit 0

elif [ $INT -gt $PRICE ];then

echo "Too High,try a again. "

else

echo "Too low,try a again."

fi

done

2.区分exit,break

exit退出程序(脚本),break只是退出循环体。

[[email protected] bin]# cat die_while.sh

#!/bin/bash

i=0

j=$(expr $RANDOM % 10)

while true;do

echo $i

let i++

sleep 1   ##休眠1秒避免死循环产生

if [ $i -eq $j ];then

echo "ok,$j random"

break      ##将break替换为exit执行后查看效果

fi

done

df -hT

[[email protected] bin]#

时间: 2024-11-05 15:47:07

while+case的相关文章

sql 语句之 case

case语句语法: --简单Case函数 CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ELSE '其他' END --Case搜索函数 CASE WHEN sex = '1' THEN '男' WHEN sex = '2' THEN '女' ELSE '其他' END 首先创建一张users表,其中包含id,name,sex三个字段,表内容如下: 复制代码 SQL> drop table users purge; drop table users p

case语法

语法: case "字符串变量" in 值1)指令 ;; 值2)指令 ;; 值*)指令 ;; esac 下面我们来作一个小脚本: #!/bin/bash read -p "please input one the number:" a case "$a" in 1) echo "you input the number is 1" ;; 2) echo "you input the number is 2"

用case语句建立一个shell(功能是打开,关闭,重置,显示虚拟机)

#!/bin/bash case "$1" in start)                   /*当关键字为start时,执行打开虚拟机$2的语句 echo start $2 ... virsh start $2 &> /dev/null ;; poweroff)              /*当关键字为poweroff时,执行强制关闭虚拟机$2的语句 echo poweroff $2 ... virsh destroy $2 &> /dev/null

linux自学_shell脚本case详解

case都可以用if替换,唯一的区别是当变量有固定几个值的时候,语法比较整齐. 举例 企业常用启动一些程序的脚本 例一 : vi  apache.sh #!/bin/sh  case $1 in          start | begin)          /etc/init.d/httpd start         ;;          stop | end)              /etc/init.d/httpd stop         ;;          *)     

bash脚本编程之case语句及脚本选项进阶

case语句及脚本选项进阶详解     面向过程程序设计语言中的控制流(即程序当中的语句)默认是顺序执行的. 程序设计语言的控制结构一共有三类: 1,顺序结构 2,选择结构 (1)if语句 ->单分支的if语句 格式:if condition1;then expression ... fi ->双分支的if语句 格式:if condition1;then expression ... else expression ... fi ->多分支的if语句 格式:if condition1;t

shell编程中for,while,util,case,select,break, continue用法详解

关于shell脚本的更多详细实例讲解请参考:http://www.cnblogs.com/yuexiaxiaoxi/category/646749.html Shell编程中循环命令用于特定条件下决定某些语句重复执行的控制方式,有三种常用的循环语句:for.while和until.while循环和for循环属于"当型循环",而until属于"直到型循环".循环控制符:break和continue控制流程转向. 参考:<Linux 与unix shell 编程指

switch case 与 if

case 在编程中偶尔使用到switch case语句,对于case语句的处理,出现了两种错误,现总结如下: 1 case后必须是常量,不能使用‘<’或‘>’这种逻辑运算 2 case后如果是‘||’或者‘&&’逻辑运算,则实际是1或者0 #include <iostream> using namespace std; int main(int argc, char * argv[]) { int i; cin>>i; switch(i) { case

数据字典+匿名委托模拟switch/case功能

基本思想每个case的选择值作为键,处理过程做成函数委托存放进数据字典.用的时候根据之调用.下面上代码 封装的FuncSwitcher类 using System; using System.Collections.Generic; namespace Test {     class FuncSwitcher<T>     {         int count;         Dictionary<T, Delegate> FuncGather;         Delega

case语句脚本练习

#! /bin/sh # 加减乘除的小脚本,主要练习case语句 case $2 in +) echo "$1 + $3 = `expr $1 + $3` " ;; -) echo "$1 - $3 = `expr $1 - $3`" ;; \*) echo "$1 * $3 = `expr $1 \* $3`" ;; /) if [ $3 = 0 ] then echo "除数不能为0" else echo "$1

Scala入门到精通——第十五节 Case Class与模式匹配(二)

本节主要内容 模式匹配的类型 for控制结构中的模式匹配 option类型模式匹配 1. 模式的类型 1 常量模式 object ConstantPattern{ def main(args: Array[String]): Unit = { //注意,下面定义的是一个函数 //函数的返回值利用的是模式匹配后的结果作为其返回值 //还需要注意的是函数定义在main方法中 //也即scala语言可以在一个函数中定义另外一个函数 def patternShow(x:Any)=x match { ca