linux shell常用循环与判断语句(for,while,until,if)使用方法
shell的循环主要有3种,for,while,until
shell的分支判断主要有2种,if,case
一,for循环
#!/bin/bash for file in $(ls /tmp/test/mytest |grep sh) //for in格式是shell for的基本格式,根js的for in类似 do //循环开始你就把它当成{ echo $file done //循环结束你就把它当成} for ((i=0;i<10;i++)) //注意是双小括号,由于受其他语言的影响,很容易搞错 do echo -n $i done echo \ //输出换行 for i in 0 1 2 3 4 5 6 7 8 9 do echo -n $i done echo \ for i in "0 1 2 3 4 5 6 7 8 9" //这个根上面是有区别的,这个循环只循环了一次,双引号里面只是一个变量 do echo -n $i done exit 0
二,while循环
#!/bin/bash i=0 while ((i<10)) do echo $i ((i += 1)) done i=0 while [ $i -lt 10 ] //注意括号内侧二边的空格 do echo $i let "i+=1" //加1 done exit 0
三,until循环
#!/bin/bash END_CONDITION=end until [ "$var1" = "$END_CONDITION" ] //读取的变量根设定的变量相等时退出循环,不然永远循环 do echo "Input variable #1 " echo "($END_CONDITION to exit)" read var1 echo "variable #1 = $var1" echo done exit 0
四,if语句
#!/bin/bash echo "Input a number #1 " read num echo "variable #1 = $num" if [ $num -lt 60 ] //注意lt前面的-,很容易忘的 then echo "you are not pass" elif [ $num -lt 70 ] && [ $num -ge 60 ] //多个条件的判断 then echo "pass" elif [[ $num -lt 85 && $num -ge 70 ]] //如果放在一起,要注意是双方括号,不要写成[ $num -lt 85 && $num -ge 70 ] then echo "good" elif (( $num <= 100 )) && (( $num >= 85 )) //对于有语言基础的人来说,这种写法让人觉得很舒服,不要忘了是双小括号 then echo "very good" else echo "num is wrong" fi //if要有结束标签的,根XML很像,不闭合,就报错 exit 0
五,case语句
#!/bin/sh case $1 in start) echo "start ok" ;; //注意一点,要注意是双分号 stop) echo "stop ok" ;; restart) echo "restart ok" ;; *) echo "no param" ;; esac //注意闭合标签 exit 0 [root@krlcgcms01 forif]# sh c1.sh stop stop ok
这篇文章就先介绍到这,下面将为大家分享更好的内容。
相关推荐
-
linux shell中实现循环日期的实例代码
下面通过一段代码给大家介绍linux shell中实现循环日期,具体代码如下所示: #!/usr/bin/env bash start_date="20180726" end_date="20180830" while [ "$start_date" -le "$end_date" ]; do stat_date=`date -d "$start_date" +%Y-%m-%d` echo $stat_da
-
Linux Shell循环中实现展示进度百分比的实现方法
Shell 循环中实现展示进度百分比的脚本方法 当我需要处理一个几万行的文件的时候,需要处理的时间是比较长的.我一开始的想法是,没处理一行,就输出一个 # 号.但是这样还是会出现很多很多的 # 号,即便是放在一行,也是非常不优雅的.所以,我想实现一个展示进度百分比的脚本. 实现思路 获取文件的行数 用 i++ 实现每行处理的计数 当前处理行数*100再除以文件行数+%得到我要输出的百分比结果 我需要在一行展示,而不是一直追加或者每次都显示一行 就是这些需求了.我们来逐渐实现. 获取文件的行数 这
-
linux shell循环:for、while、until用法详解
学习脚本就是为了方便我们运维工作,而对运维人员从来讲,有很多工作也是需要重复执行的,比如我们管理用户帐户时就需要批量创建和删除用户帐户.而此时如果使用系统自带的useradd或者userdel去操作的话,就只能机械式的一个一个创建,一个一个的删除.那我们是不是就可以考虑写一个程序,让它自动化的去创建了.此时,我们的循环执行概念也就出来了.循环就是让程序按照一定的条件反复的执行相关操作,直到不在满足循环条件时结束. 循环语句常见分类: 1,for语句 2,while语句 3,until语句 循环体
-
Linux Shell在目录下使用for循环结合if查找文件的巧用
1.for循环对目录做遍历,if判断文件是否为要查找的文件. 示例1: #!/bin/bash if [ $# -lt 1 ];then echo "Usage:$0 + filepath" exit fi #判断用户是否输入了参数 match=$1 #将要查的文件赋值给变量match found=0 #定义一个初始变量作为发生条件,当文件找到时对此变量重新赋值 for file in /etc/* #对目录进行遍历 do if [ $file == $match ];then #判断
-
Linux shell 实现用for循环100次的方法
前言 循环不管在程序中还是脚本中都需要经常用到,在写shell脚本时,经常需要for进行100次循环.这里谈谈几种从1到100的循环方法. 四种方法 C语言风格 for ((i=1; i<=100; i++)) do echo $i done Python风格(in的使用) for i in {1..100} do echo $i done Seq的使用 注意代码中不是单引号. for i `seq 1 100` do echo $i done 以上这篇Linux shell 实现用for循环1
-
linux shell 中数组的定义和for循环遍历的方法
linux shell中的语法和普通编程语言 c/c++ java 的不太一样,平时用的不多,所以总是记不住,写脚本才会去查怎么用. 今天突然被问到数组怎么去遍历.平时写shell脚本也经常遍历数组,但是一下没答上来,被鄙视了. 所以平时学习还是好好总结吧,不能每次都问度娘谷爷.IT 知识体系较为庞大,细节的东西也太多,平时遇到问题应该的多总结记笔记. linux 中定义一个数据的语法为: variable=(arg1 arg2 arg3 ....) 中间用空格分开.数组的下标从0开始. 1 获
-
Linux shell数组循环的实例详解
shell数组循环 测试shell数组,循环的例子: arr=("a" "b" "c") echo "所有的内容如下:"${arr[@]} echo "数组的长度:"${#arr[*]} for var in ${arr[@]} do echo "打印的内容:"$var done 输出的内容如下: 以上就是Linux shell数组循环的实例详解,如有疑问请留言或者到本站社区交流讨论,感
-
对Linux下shell编程之for循环的实例讲解
linux 下 for 循环中可以使用 break 和 continue 关键字来跳出循环, 和java 用法一致 一.常用for循环结构 #语法一 for 变量 in 值1 值2 值3.. do 程序块儿 done # #语法二 for 变量 `命令` do 程序块儿 done # #语法三 for ((初始值; 循环控制; 变量变化)) do 程序块儿 done 二.常用测试结构 1. 输出3次uptime #!/bin/bash for i in 1 2 3 4 5 do echo "$i
-
Linux shell编程中IO和条件及循环处理的细节问题讨论
> 與 < 差在哪? 谈到I/O redirection,不妨先让我们认识一下File Descriptor(FD).程序的运算,在大部份情况下都是进行数据(data)的处理,这些数据从哪读进?又,送出到哪里呢?这就是File descriptor(FD)的功用了. 在shell程序中,最常使用的FD大概有三个,分别为: 0: Standard Input(STDIN) 1: Standard Output(STDOUT) 2: Standard Error Output(STDERR) 在标
-
linux shell常用循环与判断语句(for,while,until,if)使用方法
shell的循环主要有3种,for,while,until shell的分支判断主要有2种,if,case 一,for循环 #!/bin/bash for file in $(ls /tmp/test/mytest |grep sh) //for in格式是shell for的基本格式,根js的for in类似 do //循环开始你就把它当成{ echo $file done //循环结束你就把它当成} for ((i=0;i<10;i++)) //注意是双小括号,由于受其他语言的影响,很容易搞
-
快速入门Shell脚本之条件判断语句与循环
相信大家已经对shell脚本有一定的了解了,大家对于shell脚本的条件判断语句一定非常期待.本篇博客,我们来聊一聊关于shell的条件判断语句与循环. 1.条件判断 1.1基本语法 [condition] 注意: condition前后要有空格 条件非空既为true,[atguigu]发回true,[]返回false 1.2.常用的判断条件 (1)两个整数之间比较 = 字符串比较 -lt 小于(less than) -le 小于等于(less equal) -eq 等于(equal) -gt
-
JavaScript for循环 if判断语句(学习笔记)
今天学习了JavaScript里面的for循环以及if的判断语句 for(初始值:循环条件:操作){ 满足条件要执行的代码语句 } 初始值:循环前的初始化变量,通常为赋值表达式:建议用var赋值,可以加快运行速度. 循环条件:每次循环前要计算的条件,是运算符类别中的条件运算符,返回值为true或false,当返回值为true时执行循环,为false时退出循环.(往往是i>=n;或用逻辑运算符) 操作:每循环一次以后要计算的表达式,通常是递增++或递减--等赋值表达式. for语句中的三个参数,第
-
Linux shell常用的73条命令总结
前言 使用Linux shell是一些程序员每天的基本工作,但我们经常会忘记一些有用的shell命令和技巧.当然,命令我能记住,但我不敢说能记得如何用它执行某个特定任务.需要注意一点的是,有些用法需要在你的Linux系统里安装额外的软件.下面话不多说了,来看看详细的内容吧. 检查远程端口是否对bash开放: echo >/dev/tcp/8.8.8.8/53 && echo "open" 让进程转入后台: Ctrl + z 将进程转到前台: fg 产生随机的十六进
-
Shell脚本中执行sql语句操作mysql的5种方法
对于自动化运维,诸如备份恢复之类的,DBA经常需要将SQL语句封装到shell脚本.本文描述了在Linux环境下mysql数据库中,shell脚本下调用sql语句的几种方法,供大家参考.对于脚本输出的结果美化,需要进一步完善和调整.以下为具体的示例及其方法. 1.将SQL语句直接嵌入到shell脚本文件中 复制代码 代码如下: --演示环境 [root@SZDB ~]# more /etc/issue CentOS release 5.9 (Final) Kernel \r on an \
-
Shell脚本编程之判断语句
一.单分支if语句 格式:if 判断条件:then statement1 statement2 ... fi 二.双分支的if语句 格式:if 判断条件; then statement1 statement2 ... else statementN ... fi 使用一个以前用过的脚本来说明这个结构. 三.多分支if语句 格式:if 判断条件1:then statement1 ... elif 判断条件2; then statement2 ... elif 判断条件3; then stateme
-
linux shell中curl 发送post请求json格式问题的处理方法
今天在linux中使用curl发送一个post请求时,带有json的数据,在发送时发现json中的变量没有解析出来 如下 curl -i -X POST -H 'Content-type':'application/json' -d {"BTime":""$btime""} http://api.baidu.com 变量没有做解析 原来在shell中,"" '还是有很大区别的, 把修改后的curl发送贴出 atime=`dat
-
linux shell之控制台打印各种颜色字体和背景的实现方法
1 问题 控制台打印各种颜色字体和背景 字体颜色 #30:黑 #31:红 #32:绿 #33:黄 #34:蓝色 #35:紫色 #36:深绿 #37:白色 背景颜色 #40:黑 #41:深红 #42:绿 #43:黄色 #44:蓝色 #45:紫色 #46:深绿 #47:白色 echo -e "\e[43;35m chenyu\e[0m hello word" 比如上面的命令,43是背景颜色,35是字体颜色, \e[0m 是还原本色 2 代码实现 这里写的是color.sh文件如下 #!/b
-
shell脚本语言之if条件判断语句实例详解
目录 1.单分支if条件语句 1.1举例:判断目录是否存在,不存在则创建 2.双分支if条件语句 2.1举例:监听并自动重启apache服务脚本 3.多分支if条件语句 3.1举例:判断用户输入的是文件还是目录 4.case条件语句 4.1举例:创建启动脚本,让service命令管理apache 4.2举例:创建启动脚本,让service命令管理nginx 总结 1.单分支if条件语句 then后面跟符合条件之后执行的程序,可以放在[]之后,用;分隔.也可以换行写入, 就不需要“;”了. 比如:
随机推荐
- Angular 理解module和injector,即依赖注入
- angularjs利用directive实现移动端自定义软键盘的示例
- JSON.parse()和JSON.stringify()使用介绍
- 详解Java反射实现Aop代理
- iOS UIScrollView滚动视图/无限循环滚动/自动滚动的实例代码
- javascript获取重复次数最多的字符
- php实现用户在线时间统计详解
- Android实现截图和分享功能的代码
- 用JavaScript调用WebService的示例
- js光标定位文本框回车表单提交问题的解决方法
- JSON与String互转的实现方法(Javascript)
- jquery select操作的日期联动实现代码
- 解密DDoS攻击——“缓存溢出”新变形
- C#引用类型作为方法的参数分析
- Android中Handler实现倒计时的两种方式
- 创建execl导入工具类的步骤
- php 获取远程网页内容的函数
- Android开发之拖动条和评分组件用法分析
- DOTNETBAR制作圆角窗体和圆角控件代码实例
- java反射获取和调用方法