首页 技术 正文
技术 2022年11月14日
0 收藏 443 点赞 3,258 浏览 1304 个字

继续Shell的学习。上两篇是关于基本数据类型,基本语法以及运算符相关,这一篇是流程控制相关(if, for, while)

流程控制

if else

流程控制不可为空,如果else没有语句执行,就不要写else

if:

if conditionthen    command1    command2    ...    commandNfi

if else:

if conditionthen    command1    command2    ...    conditionNelse    commandfi

if else-if else:

if condition1then    command1elif condition2then    command2else    commandNfi

if else语句经常和test命令结合使用

num1=$[*]num2=$[+]if test $[num1] -eq $[num2]then    echo '两个数字相等'else    echo '两个数字不等'fi

for循环

for循环常用格式

for var in item1 item2 ... itemN
do
command1
command2
...
commandN
done

还可以写成一行的形式

for var in item1 item2 ... itemN; do command1; command2... done

in列表可以包含替换、字符串和文件名

for loop in     5 # 顺序输出列表中所有数字
do
echo "The value is: $loop"
done
for str in 'This is a string' # 顺序输出字符串中所有字符
do
echo $str
done

while

condition通常为测试条件。格式如下

while condition
do
command
done

let命令:执行一个或多个表达式,变量计算中不需要加$表示变量

#!/bin/bash
int=
while(( $int<=))
do
echo $int
let "int++"
done

读取键盘输入

echo '按下 <CTRL-D> 退出'
echo -n '输入你最喜欢的网站名:'
while read FILM
do
echo "是的!$FILM是一个好网站"
done

无限循环

while:
do
command
done

或者

while true
do
command
done

或者

for (( ; ; ))

until循环

until循环执行一系列命令直至条件为true为止

一般while循环优于until循环

until condition
do
command
done

一个实例

#!/bin/basha=until [ ! $a -lt  ]
do
echo $a
a=`expr $a + `
done

case

多选择语句,匹配一个值一个模式

每个模式名用右括号结束

一旦模式匹配到其中一个,执行完匹配到的模式的所有命令后不再继续执行其他模式

如果没有匹配到任何模式,使用星号*捕获这个值,再执行后面的命令

case 值 in
模式1)
command1
command2
...
commandN
;;
模式2)
command1
command2
...
commandN
;;
*)
command1
command2
...
commandN
;;
esac # 就是case反过来写

跳出循环

break

continue

跟其他语言的break continue用法相同

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,499
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,913
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,746
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,503
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:8,142
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:5,305