转载]Linux 编写shell脚本(2)if for while
来源:互联网 发布:冬天帽子 知乎 编辑:程序博客网 时间:2024/06/04 23:31
使用if条件语句
If语句好处:可以根据特定条件来决定是否执行某项操作,当满足不同条件时执行不同操作,
相关条测试操作
test
[
1.
ü
ü
ü
ü
ü
ü
ü
2.
ü
ü
ü
ü
ü
ü
3.
ü
ü
ü
ü
4.
ü
ü
ü
if 语句的结构
1.单分支的if语句
if
then
命令序列
fi
条件成立
执行then后一条或多条命令(命令序列)
直到fi 表示结束
条件不成立
直接执行fi
条件成立
执行then后的一条或多条命令(命令序列)
条件不成立
执行else后的一条或多条命令
直到fi
if
then
命令序列1
else
命令序列2
fi
条件成立
执行then后的一条或多条命令(命令序列)
条件不成立
执行else后的一条或多条命令
直到fi
3.多分支的if语句(更多使用case语句来实现)
根据if语句条件测试命令的两种状态分别进行操作,嵌套使用,
条件1为真:执行then后的命令直到fi
条件1为假:执行elif后的条件2
条件2为真,执行命令2,直到fi
为假,执行else后的命令3直到fi
then
命令序列1
elif
then
命令序列2
else
命令序列3
fi
根据if语句条件测试命令的两种状态分别进行操作,嵌套使用,
条件1为真:执行then后的命令直到fi
条件1为假:执行elif后的条件2
条件2为真,执行命令2,直到fi
为假,执行else后的命令3直到fi
将case后边的变量只与模式1、模式2 ………..等进行逐一比较,直到找到与之匹配的值,然后执行该模式下的命令序列,当遇到 ;;后跳转至esac后结束分支
case
模式1)
命令序列1
;;
模式2)
命令学列2
;;
..........
将case后边的变量只与模式1、模式2 ………..等进行逐一比较,直到找到与之匹配的值,然后执行该模式下的命令序列,当遇到 ;;后跳转至esac后结束分支
使用in关键字为用户自定义变量设置了一个取值列表(以空格分隔的多个值),for语句第一次执行时,先将列表中的第一个值赋给变量,然后执行do后边的命令序列,再将第二个取值赋给该变量,然后执行do后边的命令序列,一直循环,直到列表中的所有值都已经用完,跳转至done
for
do
命令序列
done
使用in关键字为用户自定义变量设置了一个取值列表(以空格分隔的多个值),for语句第一次执行时,先将列表中的第一个值赋给变量,然后执行do后边的命令序列,再将第二个取值赋给该变量,然后执行do后边的命令序列,一直循环,直到列表中的所有值都已经用完,跳转至done
条件为真
while
do
命令序列
done
条件为真
until循环
与while循环结构非常类似,只不过,until是当条件不成立时进行循环,
until
do
命令序列
done
shift语句(迁移位置变量)
执行shift命令后,位置变量($1 -----$9)中的参数会依次向左传递
循环控制语句
ü
ü
shell函数的定义和调用
ü
Function
命令序列
}
函数名(){
命令序列
}
ü
- 转载]Linux 编写shell脚本(2)if for while
- linux shell 流程控制(条件if,循环【for,while】,选择【case】语句实例 --转载
- shell脚本:test命令 if-then for while 学习笔记
- shell脚本if case for while语句小例子
- SHELL脚本语句 if、for、while、case 图示
- Shell脚本的基本语法(一) if判断、for循环、while循环和until循环
- linux shell学习 记录2 if elif case for while until 语法
- shell的一些常用的语句(if语句,变量,for、while、until语句、函数调用、脚本调用)
- Shell练习-2(控制语句,if else,for,while)
- shell if case while select for
- shell 语句 if for while until case
- linux shell 脚本之【2】if详解
- Shell脚本基础学习(七)----for while until循环
- Linux Shell脚本编写
- Linux shell 脚本 编写
- linux shell脚本之if
- linux shell 流程控制(条件if,循环【for,while】,选择【case】语句实例
- linux shell 流程控制(条件if,循环【for,while】,选择【case】语句实例
- 【hibernate框架】各种问题用注解Annotation和mxl配置的解决
- LeetCode 初体验,卒。
- Linux系统下卸载DB2数据库软件
- 时间处理工具类TimeUtil
- 9.2.1、Libgdx的输入处理之轮询
- 转载]Linux 编写shell脚本(2)if for while
- LeetCode - Maximum Gap 题解
- xface禁用control+alt+backspace快捷键
- android修改浏览器主页
- java中相对路径,绝对路径问题总结
- Win7下“回收站已损坏,是否清空该驱动器上的回收站”解决方法
- android-禁止EditText自动弹出键盘
- CentOS6.5 Upgrade OpenSSH
- 如何选择适合的虚拟主机搭建博客