while中的5种条件

1.数学比较

 read -p "Num :" num1
while [ $num1 -gt ]
do
echo 'greater'
sleep done

2.字符串比较

 read -p "enter the password:" pw
while [ $pw != password ]
do
read -p "enter the password:" pw done
echo 'welcome'

3.检测文件是否存在

 while [ ! -e /tmp/testfolder  ]
do
echo '/tmp/testfolder not exist'
sleep
done

4.多个条件判断

 read -p "money:" money
read -p "car:" car
read -p "house:" house while [ $money -lt ] || [ $car -lt ] || [ $house -lt ]
do
echo 'no way!'
read -p "money:" money
read -p "car:" car
read -p "house:" house
done
echo 'Ok!'

5.赋值判断

 read -p "char:" ch

 while [ $ch != 'q' ]
do
echo "char is : $ch"
read -p "char:" ch
done
echo 'you just press q'

6.类似于for的写法

 i=
while [ $i -lt ]
do
echo $i
i=$((i+))
done

7.while使用break还有continue的时候需要注意累加的顺序

 i=
while [ $i -lt ]
do
echo $i
i=$(( i+ ))
if [ $i -eq ];then
continue
fi
#i=$(( i+ )) continue时先累加,break时后累加
done

8.九九乘法表

 n=
while [ $n -lt ]
do
for (( m=;m<=$n;m++ )) #此处 m<=$n 如果写成 m<10 输出的样式会有很大的不同
do
echo -n -e "$m x $n = $((n*m))\t"
done
echo
n=$((n+))
done

如果将上面的for换成while 即双重while的嵌套

 n=
while [ $n -lt ]
do
#for (( m=;m<=$n;m++ ))
# do
m=
while [ $m -lt $n ];do echo -n -e "$m x $n = $((n*m))\t" m=$(($m+))
done
echo
n=$((n+))
done

9.读取 passwd中的内容

 while read i;do
echo $i
done < /etc/passwd

10.读取 passwd中的内容 仅显示第一列 第三列 第五列

 IFS=$":"
while read f1 f2 f3 f4 f5 f6 f7;do
echo "$f1 $f3 $f5" done < /etc/passwd

11.until

 until和while的区别就是 until是条件为假才执行

打印 10-20

 i=
until [ $i -gt ];do
echo $i
i=$((i+))
done

记录 shell学习过程(6)while 以及 while的嵌套 以及 until的更多相关文章

  1. 记录 shell学习过程(10 ) shell 对文件的操作

    0.sed 常用内部命令 a 在匹配后面添加 i 在匹配前面添加 p 打印 d 删除 s 查找替换 c 更改 y 转换 N D P 下面用a来演示 1.sed 'a 追加内容' 文件 # sed 'a ...

  2. 记录 shell学习过程(9)正则表达式 转自树明聊运维

    正则表达式 正则表达式介绍 特殊字符 POSIX特殊字符 一.正则表达式介绍 正则表达式是一种文本模式匹配,包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为"元字符") ...

  3. 记录 shell学习过程(7) case 以及 shell 的特殊变量

    case 语法 read -p "num:" n case $n in ) echo haha ;; ) echo hehe ;; ) echo heiehi ;; *) echo ...

  4. 记录 shell学习过程(4)for 循环

    1. for in ` #seq 生成从1到10 如果生成从10到1则写作 seq 10 -1 1 do echo $i done for in 也可以循环出字符串 for i in where is ...

  5. 记录 shell学习过程(11 ) shell 对输出流的处理

    语法 awk  [options] [BEGIN] {program} [END] [file] 常用命令选项 -F fs 指定描绘一行中数据字段的文件分隔符 默认为空格 -f file 指定读取程序 ...

  6. 记录 shell学习过程(8)函数

    start () { echo "Apache start ...... [OK]" #return 0 可以写一个返回值,比如执行成功返回 0 } stop () { echo ...

  7. 记录 shell学习过程(5)continue break

    1.continue ;i<;i++)) do ];then continue fi echo $i done # ./continue.sh12346789 2.break ;i<;i+ ...

  8. 记录 shell学习过程(3) if 的格式

    ] #-e 为检测目录或文件是否存在 !为取反 then mkdir -v /tmp/ echo 'ok' fi if else if [ $USER == 'root' ] then echo 'h ...

  9. 记录 shell学习过程(2) read的用法

    echo -n "login:"read username  #read后面直接使用一个变量用于接收输入的数据 echo -n "password:"read ...

随机推荐

  1. .Net框架的模块代码生成器--其一(dotnet new)

    小白教程声明,首先先介绍一下.Net 框架及模块是什么情况: 1.公司的大佬会把框架的代码打包成Nuget包放在公司的服务器上 2.公司会专门开一个git仓库,存储模块的代码,每个模块都有其独立的文件 ...

  2. 使用SMTP协议发送邮件

    class Program { static void Main(string[] args) { ) { try { inputmodel obj = new inputmodel(args); S ...

  3. 开发FTP服务接口,对外提供接口服务

    注意:本文只适合小文本文件的上传下载,因为post请求是有大小限制的.默认大小是2m,虽然具体数值可以调节,但不适合做大文件的传输 最近公司有这么个需求:以后所有的项目开发中需要使用ftp服务器的地方 ...

  4. C# SQLITE 使用文档

    https://www.devart.com/dotconnect/sqlite/docs/Devart.Data.SQLite~Devart.Data.SQLite_namespace.html 有 ...

  5. webpack4搭建vue多页面环境

    总结一下webpack4配置vue开发环境,本文不具体介绍webpack的基本概念和用途,如有不了解的请参见https://www.webpackjs.com/concepts/官网 一.webpac ...

  6. 复原IP地址

    这道题有点不好理解 export default (str) => { // 保存所有符合条件的IP地址 let r = [] // 分四步递归处理ip分段 let search = (cur, ...

  7. 最简单的githut操作命令

    创建SSH Key: 参考:https://blog.csdn.net/weixin_30345055/article/details/95139358 在用户目录下,看看有没有.ssh文件夹,如果有 ...

  8. sqlmap注入基本教程

    附上一个别人总结的:https://www.cnblogs.com/ichunqiu/p/5805108.html 一套基础的sqlmap语句: python sqlmap.py -u "h ...

  9. MySQL优化(三)——主从复制

    1.MySQL高可用        主从复制      一主多备      多主多备           2.MySQL主从复制        主机所有写的数据都会生成二进制SQL日志执行文件,从机只 ...

  10. Android View框架的layout机制

    概述 Android中View框架的工作机制中,主要有三个过程: 1.View树的测量(measure) Android View框架的measure机制 2.View树的布局(layout)Andr ...