Shell语法中的循环
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语法中的循环相关推荐
- shell语法中的test命令用法
test命令用法.功能:检查文件和比较值 1)判断表达式 if test (表达式为真) if test !表达式为假 test 表达式1 –a 表达式2 两个表达 ...
- Shell脚本中的循环
循环语句: Bash Shell中主要提供了三种循环方式:for.while和until. 一.for循环 for循环的运作方式,是讲串行的元素意义取出,依序放入指定的变量中,然后重复执行含括的命令区 ...
- shell bash shell 语法中的字符串拼接 合并
shell中的字符串拼接比较人性化,非常直观. 比如要实现在一个变量中存储 "Hello Jim!", 而且可以更换里面的人名 Jim, Hello 和 ! 直接用双引号括起来: ...
- shell 脚本中while 循环只执行一次的问题
自己写的一个获取所有远程服务器数据库启动配置信息的bash 脚本,发现循环里的ssh远程命令只能执行一次,感觉很奇怪,以前没这么使用过, 我的脚本为 #!/bin/bash ## generate a ...
- shell语法中的空格和分号,引号
分号: 分号是多个语句之间的分隔符号,当只有一个语句的时候,末尾无需分号,最后一个语句后面也无需分号. 空格详解: 1.定义变量时, =号的两边不可以留空格 gender=femal----right ...
- shell脚本中for循环及while循环写法
for循环 例1 **展示上面的数组 #!/bin/bash #脚本名称为222.sh name1="nihao1" name2="nihao2" name3= ...
- Django DTL模板语法中的循环
1 from django.shortcuts import render 2 3 def index(request): 4 context={ 5 'books':[ 6 '5年高考3年模拟', ...
- shell脚本for循环_了解Shell脚本中的for循环
shell脚本for循环 Continuing on from our previous tutorials, let's understand the for loop in shell scrip ...
- 如何在 Shell 脚本中执行语法检查调试模式
我们开启了 Shell 脚本调试系列文章,先是解释了不同的调试选项,下面介绍如何启用shell调试模式. 写完脚本后,建议在运行脚本之前先检查脚本中的语法,而不是查看它们的输出以确认它们是否正常工作. ...
- Shell中的循环语句for、while、until实例讲解
在编程语言中,循环语句是最基本的语法之一,在Shell(这里是Bash)中也不例外,再把以前自己写过的相关内容整理一下吧. 这里包括for/while/until循环,以及变量自增的语法实例. ...
最新文章
- 科普:不要对移动机器人有误解
- 招程序员,得招 “会编程” 的
- 一般项目中是如何调bug的 ------- 手把手带你体验整个流程
- Longest Substring with At Most Two Distinct
- 检测动态生成的单选按钮和jQuery的变化
- Objective--C内存管理基础
- LeetCode 709. 转换成小写字母
- LeetCode - Maximum Subarray
- LeetCode刷题(24)
- 教老年人计算机心得体会,老年人教育工作心得体会
- 检查压缩包是否损坏_工业脉冲布袋除尘器安装前的检查工作
- android 恢复出厂设置流程
- react 点击使父元素消失_在 React 组件中使用 Refs 指南
- 文字版--九九乘法表 c语言
- java架构师是做什么的 java架构师的工作内容
- MATLAB 官方文档
- 好玩,易推广,猜骰子游戏
- nali工具解析ip来源
- 游戏自动化协议测试工具的开发个人思路
- 组合数据类型练习,英文词频统计实例