记录 shell学习过程(6)while 以及 while的嵌套 以及 until
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的更多相关文章
- 记录 shell学习过程(10 ) shell 对文件的操作
0.sed 常用内部命令 a 在匹配后面添加 i 在匹配前面添加 p 打印 d 删除 s 查找替换 c 更改 y 转换 N D P 下面用a来演示 1.sed 'a 追加内容' 文件 # sed 'a ...
- 记录 shell学习过程(9)正则表达式 转自树明聊运维
正则表达式 正则表达式介绍 特殊字符 POSIX特殊字符 一.正则表达式介绍 正则表达式是一种文本模式匹配,包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为"元字符") ...
- 记录 shell学习过程(7) case 以及 shell 的特殊变量
case 语法 read -p "num:" n case $n in ) echo haha ;; ) echo hehe ;; ) echo heiehi ;; *) echo ...
- 记录 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 ...
- 记录 shell学习过程(11 ) shell 对输出流的处理
语法 awk [options] [BEGIN] {program} [END] [file] 常用命令选项 -F fs 指定描绘一行中数据字段的文件分隔符 默认为空格 -f file 指定读取程序 ...
- 记录 shell学习过程(8)函数
start () { echo "Apache start ...... [OK]" #return 0 可以写一个返回值,比如执行成功返回 0 } stop () { echo ...
- 记录 shell学习过程(5)continue break
1.continue ;i<;i++)) do ];then continue fi echo $i done # ./continue.sh12346789 2.break ;i<;i+ ...
- 记录 shell学习过程(3) if 的格式
] #-e 为检测目录或文件是否存在 !为取反 then mkdir -v /tmp/ echo 'ok' fi if else if [ $USER == 'root' ] then echo 'h ...
- 记录 shell学习过程(2) read的用法
echo -n "login:"read username #read后面直接使用一个变量用于接收输入的数据 echo -n "password:"read ...
随机推荐
- Object类、日期时间类、system类及StringBuilder字符串容器
一.Object类常用API 1.1 概述 java.lang.Object类是Java语言中的根类,即所有类的父类.Object类中描述的所有方法子类都可以使用.在对象实例化的时候,最终找的父类就是 ...
- 基于element-ui 模仿微信聊天页面以及滚动条隐藏在chrome和其他浏览器的处理
1.效果图 2.代码 <template> <div style=" overflow: hidden;"> <el-row> <el-c ...
- 纪中20日c组模拟赛T1 2121. 简单游戏
T1 2121. 简单游戏 (File IO): input:easy.in output:easy.out 时间限制: 1000 ms 空间限制: 262144 KB 具体限制 Goto Pro ...
- Wannafly Winter Camp 2020 Day 6D 递增递增 - dp,组合数学
给定两个常为 \(n\) 的序列 \(l_i,r_i\),问夹在它们之间 ( \(\forall i, l_i \leq a_i \leq r_i\) ) 的不降序列的元素总和. Solution 先 ...
- Docker 下部署hadoop集群
一.主机规划 3台主机:1个master.2个slaver/worker ip地址使用docker默认的分配地址: master: 主机名: hadoop2.ip地址: 172.17.0.2 slav ...
- Linux教程-修炼
在2020这个特殊的时期,在家就是为国家做贡献!一切都会好起来的,加油中国!! Linux 第1章 Linux 简介 1.1 为什么要学习Linux 1.2 Linux是什么 1.3 Linux 与 ...
- codechef Future of draughts
难度 super-hard 题意 官方中文题意 做法 定义1:\(G\)为邻接矩阵,\(I\)为单位矩阵 定义2:\(H\)为转移矩阵,可以不动,即\(H=G+I\) 定义3:\(e_i(x_1,.. ...
- luogu P1736 创意吃鱼法
#include<iostream> #include<cstring> #include<cstdio> #include<algorithm> #i ...
- Qt Gui 第六章布局管理
1.QRadioButton之间如何互斥 其中一种方法是将各个QRadioButton控件放在同一个toolbarsLayout或者toolbarsGroupBox即可:如下所示 toolbarsGr ...
- window - 安装 tomcat
一.下载安装包 参考网址:https://archive.apache.org/dist/tomcat 百度网盘:https://pan.baidu.com/s/1mtNuTUCFp-_SIHIp_R ...