博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
shell进阶
阅读量:6150 次
发布时间:2019-06-21

本文共 1341 字,大约阅读时间需要 4 分钟。

◆  条件选择 if语句

单分支

if 判断条件;then

条件为真的分支代码

fi

双分支

if 判断条件; then

条件为真的分支代码

else

条件为假的分支代码

fi

 多分支

if 判断条件 1 ; then

条件为真的分支代码

elif 判断条件 2 ; then

条件为真的分支代码

elif 判断条件 3 ; then

条件为真的分支代码

else

以上条件都为假的分支代码

Fi

注意:if 语句可进行嵌套

条件判断:case 语句

case 变量引用 in

PAT1)

分支1

;;

PAT2)

分支2

;;

*)

默认分支

;;

esac

◆ for 循环

语法:for 变量名 in 列表;do

   循环体

         done

 执行机制 :依次 将列表中的元素赋值给“变量名”每次赋值后即执行一次循环体直到列表中的元素耗尽,循环结束。

列表生成方式

(1) 直接给出 列表

(2) 整数列表:

(a) {start..end}

(b) $(seq [start [step]] end)

(3) 返回列表的 命令

$(COMMAND)

(4) 使用glob  如:*.sh

(5) 变量引用;$@, $*

for循环的特殊格式

for (( 控制变量初始化条件判断表达式控制变量的修正表达式))

do

循环体

done

 控制变量初始化:仅在运行到循环代码段时执行一次

 控制变量的修正表达式:每轮循环结束会先进行控制变量修正运算,而后再做条件判断

例如:

For ((i=1;sum=0;i<=100;i++));do

[ $[i%2] –eq 1 ]&& sum+=i

Done

Echo sum=$sum

◆ while 循环

while CONDITION; do

循环体

done

 

进入条件:CONDITION true

退出条件:CONDITION false

while 循环的特殊用法(遍历文件的每一行):

while read line;do

循环体

done </PATH/FROM/SOMEFILE

依次读取/PATH/FROM/SOMEFILE文件中的每一行,且将行赋值给变量line

◆ until 循环

until CONDITION; do

循环体

 done

 进入条件: CONDITION false 

 退出条件: CONDITION true

continue:结束本轮循环,进入到下一轮循环。

break:结束本次循环

 ◆ shift命令

 用于将参量列表 list 左移指定次数,缺省为左移一次。

 参量列表 list 一旦被移动,最左端的那个参数就从列表中删除。whil到循环遍历位置参量列表时,常用到 shift。

一般用于参数不确定的情况下

◆创建无限循环

while true; do

循环体

done

until false; do

循环体

Done

◆select 循环与菜单

select variablein list

do

循环体命令

done

select

本文转自    honeyorange   51CTO博客,原文链接:http://blog.51cto.com/13172732/1966086

转载地址:http://uyzfa.baihongyu.com/

你可能感兴趣的文章
图解SSH原理及两种登录方法
查看>>
【总结整理】JQuery基础学习---样式篇
查看>>
查询个人站点的文章、分类和标签查询
查看>>
基础知识:数字、字符串、列表 的类型及内置方法
查看>>
JSP的隐式对象
查看>>
JS图片跟着鼠标跑效果
查看>>
[SCOI2005][BZOJ 1084]最大子矩阵
查看>>
学习笔记之Data Visualization
查看>>
Leetcode 3. Longest Substring Without Repeating Characters
查看>>
416. Partition Equal Subset Sum
查看>>
app内部H5测试点总结
查看>>
[TC13761]Mutalisk
查看>>
while()
查看>>
常用限制input的方法
查看>>
IIS7下使用urlrewriter.dll配置
查看>>
并行程序设计学习心得1——并行计算机存储
查看>>
bulk
查看>>
js document.activeElement 获得焦点的元素
查看>>
C++ 迭代器运算
查看>>
【支持iOS11】UITableView左滑删除自定义 - 实现多选项并使用自定义图片
查看>>