- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Linux编写shell脚本if for while
HYPERLINK /s/blog_680e57f70100ko6g.html \o Linux?wbr编写shell脚本(2)if?wbrfor?wbrwhile \t _blank Linux编写shell脚本if for while
使用if条件语句
If语句好处:可以根据特定条件来决定是否执行某项操作,当满足不同条件时执行不同操作,
相关条测试操作
Test 条件表达式
[ 条件表达式 ] [ ] 方括号与条件表达式需要用空格进行分隔
测试文件状态
-d 是否为目录
-e 文件是否存在
-f 是否为文件
-r 是否有读取的权限
-w 是否有写入权限
-x 是否有执行权限
-L 是否为链接文件
2. 整数值比较
-eq 等于
-ne 不等于
-gt 大于
-lt 小于
-le 小于等于
-ge 大于等于
3. 字符串比较
= 匹配
!= 不匹配
-z是否为空
!用于取反
4逻辑测试
逻辑与(前后两个条件都为真时,结果才为真)
||逻辑或(有一个条件成立,结果即为真)
! 逻辑非(指定条件不成立,结果为真)
if 语句的结构
1.单分支的if语句
if条件测试命令
then
命令序列
fi
条件成立
执行then后一条或多条命令(命令序列)
直到fi 表示结束
条件不成立
直接执行fi
条件成立
执行then后的一条或多条命令(命令序列)
条件不成立
执行else后的一条或多条命令
直到fi
2.双分支的if语句
if 条件测试命令
then
命令序列1
else
命令序列2
fi
条件成立
执行then后的一条或多条命令(命令序列)
条件不成立
执行else后的一条或多条命令
直到fi
3.多分支的if语句(更多使用case语句来实现)
根据if语句条件测试命令的两种状态分别进行操作,嵌套使用,
条件1为真:执行then后的命令直到fi
条件1为假:执行elif后的条件2
条件2为真,执行命令2,直到fi
为假,执行else后的命令3直到fiif 条件测试命令1
then
命令序列1
elif 命令测试条件2
then
命令序列2
else
命令序列3
fi
根据if语句条件测试命令的两种状态分别进行操作,嵌套使用,
条件1为真:执行then后的命令直到fi
条件1为假:执行elif后的条件2
条件2为真,执行命令2,直到fi
为假,执行else后的命令3直到fi
将case后边的变量只与模式1、模式2 ………..等进行逐一比较,直到找到与之匹配的值,然后执行该模式下的命令序列,当遇到;;后跳转至esac后结束分支
4.case语句(适用于需要进行多重分支的情况)
case 变量值 in
模式1)
命令序列1
;;
模式2)
命令学列2
;;
..........
*)
esac
将case后边的变量只与模式1、模式2 ………..等进行逐一比较,直到找到与之匹配的值,然后执行该模式下的命令序列,当遇到;;后跳转至esac后结束分支
使用in关键字为用户自定义变量设置了一个取值列表(以空格分隔的多个值),for语句第一次执行时,先将列表中的第一个值赋给变量,然后执行do后边的命令序列,再将第二个取值赋给该变量,然后执行do后边的命令序列,一直循环,直到列表中的所有值都已经用完,跳转至donefor语句结构
for 变量名 取值列表
do
命令序列
done
使用in关键字为用户自定义变量设置了一个取值列表(以空格分隔的多个值),for语句第一次执行时,先将列表中的第一个值赋给变量,然后执行do后边的命令序列,再将第二个取值赋给该变量,然后执行do后边的命令序列,一直循环,直到列表中的所有值都已经用完,跳转至done
条件为真 执行do 后边的命令然后返回到while再次判断,条件为真,继续执行do后的命令序列,直到条件为假,???转到done语句,结束循环
while语句结构
while 条件测试命令
do
命令序列
done
条件为真 执行do 后边的命令然后返回到while再次判断,条件为真,继续执行do后的命令序列,直到条件为假,跳转到done语句,结束循环
until循环
与while循环结构非常类似,只不过,until是当条件不成立时进行循环,
until 命令测试条件
do
命令序列
Done
shift语句(迁移位置变量)
执行shift命令后,位置变量($1 -----$9)中的参数会依次向左传递
循环控制语句
break 中断:跳出当前所在的循环,并不跳出程序
continue 继续:暂停本次循环,跳转至循环语句顶部重新测试条件
shell函数的定义和调用
定义
Function 函数名 {
命令序列
}
函数名(){
命令序列
}
调用:直接调
您可能关注的文档
- april in your lie(四月是你的谎言).docx
- C++课程设计……一元多项式简单的计算器.doc
- before 的用法.doc
- C++课程设计题目宾馆管理系统.doc
- book1m1-2复习提纲.doc
- C51 LCD菜单V1.doc
- CAD2004快捷键一览表.docx
- CAD中所有快捷键.docx
- CAD快捷键组合.doc
- Book4 Unit2语言点讲义.doc
- 2025年网络文学平台版权运营模式创新与版权保护体系构建.docx
- 数字藏品市场运营策略洞察:2025年市场风险与应对策略分析.docx
- 全球新能源汽车产业政策法规与市场前景白皮书.docx
- 工业互联网平台安全标准制定:安全防护与合规性监管策略.docx
- 剧本杀剧本创作审核标准2025年优化与行业自律.docx
- 2025年新能源电动巡逻车在城市安防中的应用对城市环境的影响分析.docx
- 全渠道零售案例精选:2025年行业创新实践报告.docx
- 2025年网约车司乘纠纷处理机制优化与行业可持续发展报告.docx
- 2025年宠物烘焙食品市场法规政策解读:合规经营与风险规避.docx
- 2025年宠物行业数据安全监管政策影响分析报告.docx
文档评论(0)