shell脚本的使用---while循环

while循环:重复测试某个条件,只要条件成立反复执行

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

vi 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

:wq

1、函数RANDOM、let、exit:

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

echo $RANDOM ##生成随机数

ehco $RANDOM % 100 ##获取100内的随机数

echo $RANDOM % 1000 ##获取1000内的随机数

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

i=1

let i++

echo $i

let i++

echo $i

let i--

echo $i

expr $i + 1  #体会体会

综合应用:  定义一个随机值为真,你输对了才停下来,看看你几次能输对

vi banji.sh

#/bin/bash

P=$(expr $RANDOM % 1000)

T=0

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

while true;do

read -p "please give number:" INT

let T++

if [ $INT -eq $P ];then

echo "your luckly. right!"

echo $T

exit 0   ##当你输对了则退出程序脚本

elif [ $INT -gt $P ];then

echo "Too High"

else

echo "Too low"

fi

done

:wq

2、区分exit,break

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

vi 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

:wq

时间: 2024-11-09 17:28:21

shell脚本的使用---while循环的相关文章

tar ,cpio打包解压. shell脚本for,while,until循环. rpm包管理,select循环菜单,函数function,yum

tar  tar -cf 路径+文件名字后续.tar  +路径 创建归档压缩 tar cf /testdir/etc.tar /etc/ tar cvf 可以查看解压过程 tar tvf 预览作用 tar xvf 解压文件 tar zcvf /testdir/etc2.tar.gz /etc/ 解压再压缩到指定路径,文件格式 tar jcvf cpio 复制 从或到文件 cpio 命令是通过重定向的方式将文件进行打包备份,还原恢复的工具,它可以解压以".cpio"或者".ta

shell脚本的使用---for循环

shell脚本的循环:重复执行命令 1.for循环 语法 for 变量名称 in 变量值列表 do 命令 done for根据变量值列表中的内容,重复执行命令,直到变量值列中的所有内容都取值完后结束. 取值列表的类型:可以是特定文本文件,命令生成列表 案列: vi user.txt zsan lisi :wq vi useradd_for.sh #!/bin/bash Un=$(cat /root/bin/user.txt) for i in $Un do useradd #i ehco 123

Shell脚本之:退出循环

Shell也使用 break 和 continue 来跳出循环. break命令 下面的例子中,脚本进入死循环直至用户输入数字大于5,使用break跳出这个循环. #!/bin/bash while : do echo -n "Input a number between 1 to 5: " read aNum case $aNum in 1|2|3|4|5) echo "Your number is $aNum!" ;; *) echo "You do

shell脚本判断语句和循环语句

if判断语句 exit跳出判读语句 不加exit的结果 read -n(不换行) 判断是否输入的是数字 read age[[ $age =~ ^[0-9]+$ ]]if [ $? -ne 0 ]; then echo "你输入的不是一个数字" exit 1fi case判断语句 #!/bin/bashcat <<EOF########################################### 欢迎学习shell编程 #######################

Linux shell脚本编程入门(二) 循环语句

前面有了变量的概念和逻辑运算符,就可以写判断语句了,不过这里注意中括号的两边必须得留空格,不然报错. 运算符 赋值, 用 let 语句, 如 let "a=1" 算数运算, 支持 +  -  *  /  %(模运算)  **(幂运算) 位运算符, 支持 <<(左移)  >>(右移)  &(按位与)  |(按位或)  ~(按位取反)  ^(按位异或) if / then / else 语句 先举个栗子呗~ #!/bin/bash read var1 if

Shell脚本学习笔记-循环结构

1. for循环语句 1.1. 语法格式: for var in list do commands done for ((表达式)) do commands done 1.2 简单示例: #!/bin/sh #从直接列表读取 echo "从直接列表读取" for var in 1 2 3 do echo "$var" done echo "\n" #从变量读取 echo "从变量读取" list="a b c&quo

用shell脚本写一个for循环

一.输出十遍北京 for((i=1;i<10;i++))> do> echo '北京';> done 二.死循环 for((;;))do#java -jar producer.jar /home/csliyb/kafka/sichuan2.txt dpifix_dlcd#java -jar producer.jar /home/csliyb/kafka/test.txt dpifix_dlcd echo '循环次数:i'; //输出内容done

在shell脚本中进行条件控制以及使用循环

转载请标明:http://www.cnblogs.com/winifred-tang94/ if条件语句语法: if [ 条件表达式 ] then 代码 else 代码 fi 注意:在上面的if条件语句中,if和 [ 之间要有空格,而条件表达式和两边的 [ ] 都要有空格,条件表达式不能紧挨着 [ 和 ]. if条件表达式以fi结束. Eg. 结果出现了以下问题: 原因是因为开头在#!后还要有一个/,加上/后解释器错误没有了,代码如下: 可是仍然有没有那个文件或目录的错误.对于这个错误我觉得是e

linux之shell脚本管理(一)

在Shell脚本中执行使用if语句的好处是:可以根据特定的条件(eg:判断备份目录是否存在)来决定是否执行某项操作,当满足不同的条件时执行 不同的操作(eg:备份目录不存在则创建该目录,否则跳过操作).该文将分别从条件测试操作,if语句结构,应用示例这三个方面讲解if语句在Shell 脚本中的应用. 1.条件测试操作: 需要在Shell脚本中有选择性地执行任务时,首先面临的问题就是,如何设置命令执行的条件? 在Shell环境中,可以根据命令执行后返回状态值来判断该命令是否成功执行,当返回值为0是