if判断语句

single branch(单分支)

  • 命令格式:

if command; thenactionfi
  • 举例:

#!/bin/shif [ ! -e /etc/my.cnf ]; thentouch /etc/my.cnffi解析说明:如果/etc/my.cnf不存在为真;则创建该文件。

dual branch(双分支)

  • 命令格式:

if command1; thenaction1elseaction2fi
  • 举例:

#!/bin/shif [ -f /etc/my.cnf ]; thenecho "/etc/my.cnf is file type"elseecho "/etc/my.cnf is not file type"fi解析说明:如果/etc/my.cnf的文件类型是文件为真;则向用户显示这是一个文件不否则向用户显示这不是一个文件

more brach(多分支)

  • 命令格式:

if command1; thenaction1elif command2; thenaction2elif command3; thenaction3fi注意:if语句可嵌套
  • 举例:

#!/bin/shif [ ! -e /etc/my.cnf ]; thenecho "/etc/my.cnf is not exist"elif [ -d /etc/my.cnf ]; thenecho "/etc/my.cnf type is directory "elif [ -f /etc/my.cnf ]; thenecho "/etc/my.cnf type is file"elseecho "/etc/my.cnf is other type"fi解析说明:如果/etc/my.cnf不存在为真,则向用户显示/etc/my.cnf不存在如果/etc/my.cnf的文件类型是目录为真,则向用户显示/etc/my.cnf的类型是个目录如果/etc/my.cnf的文件类型是文件为真,则向用户显示/etc/my.cnf的类型是个文件否则向用户显示/etc/my.cnf的类型是其他

for循环语句

  • 命令格式:

for 变量名 in 列表; do command 变量;done
  • 举例1:

#!/bin/shfor username in user{1..5}; doif id $username &>/null; thenecho "$username is exsit"elseuseradd $username && echo "$username" | passwd $username --stdin    fi;done解析说明:将user1作为变量username的值;然后执行如果id user1为真;则向用户显示user1已经存在否则添加用户user1,添加成功后设置user1的密码为user1注:(依次将user1 user2 user3 user4 user5作为变量username的值)
  • 举例2:

#!/bin/shdeclare -i online=0declare -i offline=0for iplist in $(seq 1 254); doif ping -w 1 192.168.2.$iplist &>/dev/null;thenlet online++    echo 192.168.2.$iplist online    elselet offline++    echo 192.168.2.$iplist offline    fidoneecho online count is $onlineecho offline count is $offline解析说明:设置online变量的值为0设置offline变量的值为0将1-254依次赋值给变量iplist然后执行ping命令,如果ping的结果为真,则设置变量online加1并向用户显示ip 在线否则设置变量offline加1并向用户显示ip不在线向用户显示在线一共多少个ip向用户显示不在线一共多少个ip

列表的生成方式:

  • 1.直接给出 如:user1 user2 user3

  • 2.命令结果 如:cat /etc/user 或 $(cat /etc/user)

  • 3.路径通配 如:/var/*

  • 4.变量引用

执行机制:

依次将“列表“中的值赋值为变量值,每次赋值后执行一次command,直到列表耗尽才停止循环。

转载于:https://blog.51cto.com/wangxiaoke/2361947

Shell语法中的循环相关推荐

  1. shell语法中的test命令用法

    test命令用法.功能:检查文件和比较值 1)判断表达式 if test  (表达式为真) if test !表达式为假 test 表达式1 –a 表达式2                  两个表达 ...

  2. Shell脚本中的循环

    循环语句: Bash Shell中主要提供了三种循环方式:for.while和until. 一.for循环 for循环的运作方式,是讲串行的元素意义取出,依序放入指定的变量中,然后重复执行含括的命令区 ...

  3. shell bash shell 语法中的字符串拼接 合并

    shell中的字符串拼接比较人性化,非常直观. 比如要实现在一个变量中存储 "Hello Jim!", 而且可以更换里面的人名 Jim, Hello 和 ! 直接用双引号括起来: ...

  4. shell 脚本中while 循环只执行一次的问题

    自己写的一个获取所有远程服务器数据库启动配置信息的bash 脚本,发现循环里的ssh远程命令只能执行一次,感觉很奇怪,以前没这么使用过, 我的脚本为 #!/bin/bash ## generate a ...

  5. shell语法中的空格和分号,引号

    分号: 分号是多个语句之间的分隔符号,当只有一个语句的时候,末尾无需分号,最后一个语句后面也无需分号. 空格详解: 1.定义变量时, =号的两边不可以留空格 gender=femal----right ...

  6. shell脚本中for循环及while循环写法

    for循环 例1 **展示上面的数组 #!/bin/bash #脚本名称为222.sh name1="nihao1" name2="nihao2" name3= ...

  7. Django DTL模板语法中的循环

    1 from django.shortcuts import render 2 3 def index(request): 4 context={ 5 'books':[ 6 '5年高考3年模拟', ...

  8. shell脚本for循环_了解Shell脚本中的for循环

    shell脚本for循环 Continuing on from our previous tutorials, let's understand the for loop in shell scrip ...

  9. 如何在 Shell 脚本中执行语法检查调试模式

    我们开启了 Shell 脚本调试系列文章,先是解释了不同的调试选项,下面介绍如何启用shell调试模式. 写完脚本后,建议在运行脚本之前先检查脚本中的语法,而不是查看它们的输出以确认它们是否正常工作. ...

  10. Shell中的循环语句for、while、until实例讲解

     在编程语言中,循环语句是最基本的语法之一,在Shell(这里是Bash)中也不例外,再把以前自己写过的相关内容整理一下吧. 这里包括for/while/until循环,以及变量自增的语法实例. ...

最新文章

  1. 科普:不要对移动机器人有误解
  2. 招程序员,得招 “会编程” 的
  3. 一般项目中是如何调bug的 ------- 手把手带你体验整个流程
  4. Longest Substring with At Most Two Distinct
  5. 检测动态生成的单选按钮和jQuery的变化
  6. Objective--C内存管理基础
  7. LeetCode 709. 转换成小写字母
  8. LeetCode - Maximum Subarray
  9. LeetCode刷题(24)
  10. 教老年人计算机心得体会,老年人教育工作心得体会
  11. 检查压缩包是否损坏_工业脉冲布袋除尘器安装前的检查工作
  12. android 恢复出厂设置流程
  13. react 点击使父元素消失_在 React 组件中使用 Refs 指南
  14. 文字版--九九乘法表 c语言
  15. java架构师是做什么的 java架构师的工作内容
  16. MATLAB 官方文档
  17. 好玩,易推广,猜骰子游戏
  18. nali工具解析ip来源
  19. 游戏自动化协议测试工具的开发个人思路
  20. 组合数据类型练习,英文词频统计实例

热门文章

  1. Zabbix网络设备常用的SNMP OID
  2. java程序内存泄漏排查
  3. 缓存DNS 正向解析反向解析
  4. DELL服务器装机网络问题
  5. php 数组排序以及按照某个字段排序
  6. 自己动手开发编译器(八)用Linq编写解析器组合子
  7. 用java和tomcat安装jenkins过程
  8. 怎么把ui放入到java工程中_怎么把ui放入到java工程中
  9. Netlink0004 --- 多播机制的用法
  10. python 多线程 全局锁_python的多线程+GIL全局解释器锁+其他LOCK