bash 的过程式和循环式编写

bash脚本的编写,对于Linux这个多用户,多任务的系统,有很大的帮助,脚本可以帮助我们定时执行任务,过滤文本,检查系统性能等等。下面我们来了解一下过程式和循环式脚本的编写。

使用read 命令来接受输入

使用read 来把输入值分配给一个或多个shell 变量:

-p 指定要显示的提示

-t TIMEOUT

read 从标准输入中读取值,给每个单词分配一个变量,所有剩余单词都被分配给最后一个变量。

read -p “Enter a filename: “ FILE

过程式编程语言分为三种:1.顺序执行 2.选择执行 3.循环执行

条件选择if 语句

选择执行:

注意:if 语句可 嵌套

单分支

if  判断条件:then

条件为真的分支代码

fi

双分支

if  判断条件; then

条件为真的分支代码

else

条件为假的分支代码

fi

多分支

if  CONDITION1 ; then

if-true

elif CONDITION2 ; then

if-true

elif CONDITION3 ; then

if-true

...

else

all-false

fi

逐条件进行判断,第一次遇为“真”条件时,执行其分支,而后结束整个if 语句。

if 实例

1 、写一个脚本/root/bin/createuser.sh ,实现如下功能:使用一个用户名做为参数,如果指定参数的用户存在,就显示其存在,否则添加之;显示添加的用户的id 号等信息

条件判断:case 语句

case 变量引用 in

PAT1)

分支1

;;

PAT2)

分支2

;;

...

*)

默认分支

;;

esac

case 支持glob 风格的通配符:

*:  任意长度任意字符

?:  任意单个字符

[] :指定范围内的任意单个字符

a|b:  a或b

case 实例

1,写一个脚本/root/bin/yesorno.sh ,提示用户输入yes或no, 并判断用户输入的是yes还是no,

循环执行:将某代码段重复运行多次

重复运行多少次:

循环次数事先已知

循环次数事先未知

有进入条件和退出条件

分为三种:for, while, until

for 循环

for  变量名 in  列表;do    (for的变量名可以不用加$符号)

循环体

done

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

列表生成方式:

(1)  直接给出列表

(2)  整数列表:

(a) {start..end}

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

(3)  返回列表的命令

$(COMMAND)

(4)  使用glob,如:*.sh

(5)  变量引用;

[email protected], $*

for实例

1,用for编写一个99乘法表。

while 循环

while CONDITION; do

循环体

done

CONDITION :循环控制条件;进入循环之前,先做一次判断;每一次循环之后会再次做判断;条件为“true",则执行一次循环;直到条件测试状态为“false”终止循环.

因此:CONDTION 一般应该有循环控制变量;而此变量的值会在循环体不断地被修正

进入条件:CONDITION 为true;(真)

退出条件:CONDITION 为false ;(假)

while实例

1,用while编写一个99乘法表。

until 循环

until CONDITION; do

循环体

done

进入条件: CONDITION  为false (假)

退出条件: CONDITION  为true(真)

循环控制语句continue :用于循环体中

continue [N] :提前结束第N 层的本轮循环,而直接进入下一轮判断;最内层为第1层。

while CONDTIITON1; do

CMD1

...

if CONDITION2; then

continue

fi

CMDn

...

done

循环控制语句break:用于循环体中

break [N] :提前结束第N 层循环, 最内层为第1层。

while CONDTIITON1; do

CMD1

...

if CONDITION2; then

break

fi

CMDn

...

done

循环控制语句exit:用于循环体中

exit :直接结束整个循环,后面的不再执行。

创建无限循环

while true; do

循环体

done

until false; do

循环体

Done

时间: 2024-11-11 02:34:05

bash 的过程式和循环式编写的相关文章

bash脚本编程:for循环

顺序执行:默认法则,逐条执行各语句 选择执行:分支,条件判断,符合条件的分支予以执行: 循环执行:将同一段代码反复执行有限次,所以,循环必须有退出条件,否则将陷入死循环. 程序代码:语句和表达式组成 控制语句: bash循环控制语句:for  while  until for循环: for var_Name in 列表; do 语句1 语句2 ... done 循环添加指定用户 for userName in gentoo mandriva debian; do useradd $userNam

CAST v0.9.11 1CD循环式活性污泥法生活污水处理工艺

CAST v0.9.11 1CD循环式活性污泥法生活污水处理工艺循环式活性污泥法(一种生活污水处理工艺,它是在SBR工艺的基础上,增加了选择器及污泥回流设施,并对时序做了一些调整,从而大大提 高了SBR工艺的可靠性及效率.)该工艺与常规SBR法相比,其最大特点是将SBR池分为三个区,生物选择区具有防止污泥膨胀,并可有效去除有机物和脱氮除磷的功能,同时 改善了污水的可生化性.兼氧区具有反催化脱氮和除磷以及形成从厌氧区到好氧区的过渡的作用.主曝气区是CAST反应池的主要反应区,具 有有机物降解.硝化

6,bash入门,for 循环, 编写最简单的脚本

shell 是 一种 控制系统的脚本语言, bash 是 shell语言 的 解释器 中 的 一种,也是 Linux 上 最流行的 的 一种, 不过 shell解释器 有 很多种, 而且 每一种 都有 自己 的 特色, 不 是 完全 一样 的.., 常见shell: sh.csh.tcsh.bash.ksh.dash.zsh bash 常用快捷键: Ctrl+a:    跳转命令行首 Ctrl+e:    跳转命令行尾 Ctrl+u:    删除命令行首至当前光标所在处的内容 Ctrl+k:  

bash之流程控制for循环及bash命令退出和退出状态码

一.for循环定义: 将一段代码反复执行:----->进入条件;------> 退出条件; 二.语法格式: for 变量名 in LIST do statement1 ... done for VAR in LIST; do statement1; statement2; ...; done 三.LIST:列表 定义:包含至少一个元素的字符串集合: LIST的生成方法: (1) 直接给出: (2) 数值列表: (a) {start..end},例如:{1..10} (b) seq [start

bash编程基础及for循环

bash编程要点 变量: 本地变量:只对当前shell进程有效,对当前shell之外的其它shell(包括其父.子等)无效: 环境变量:对当shell进程及其子shell进程有效: 局部变量:仅在当前shell进程中的某段代码空间内有效:通常用于函数本地程序: 位置变量:$1, $2, ... $1 是传递给该shell脚本的第一个参数 $2 是传递给该shell脚本的第二个参数- 特殊变量: $# 是传给脚本的参数个数 $0 是脚本本身的名字 [email protected] 是传给脚本的所

bash脚本编程之for循环及应用

循环执行结构: 循环结构包括两个环节: 1.进入循环的条件: 在符合要求或满足条件时才开始循环: 2.退出循环的条件: 达到某个要求或符合某个条件时需要结束或终止循环的执行: for循环: 1.遍历列表的循环: 为列表中的每个成员执行命令. for 名称 [in 词语 ... ] ; do 命令; done 建议在脚本中的书写格式: for VAR_NAME in LIST ; do 循环体 done 或 for VAR_NAME in LIST do 循环体 done 注意: VAR_NAME

bash脚本编程之五 while循环

while循环详解 我们Shell脚本的编程结构有三类,分别是: 1,顺序结构 2,选择结构: ->if语句 ->case语句 3,循环结构 ->for循环 ->while循环 ->until循环 今天我们就来说一说while循环,while循环和for循环不同的地方在于,for循环中我们是知道循环的次数的,但是我们的while循环适用于循环次数未知的场景,while循环必须得有进入循环的条件和退出循环的条件: 使用格式:while  condition(进入循环的条件,满足

我对于几个循环式的看法与理解

我是一个初学web前端的小菜鸡,刚刚接触C#语言真的是一脸懵逼,特别是在于循环这一款是真的很茫然,While循环,DO While循环,for循环,IF判定这些都是傻傻分不清楚,相信对于很多新手也是懵逼的状态,我就简单来分析一下怎么来判定这几个循环的使用技巧和用法 首先是While循环,这个循环在C#语言中常常用在一段代码需要无限之循环的时候来使用,它的返回类型是BOOL类型的,一般如果BOOL判断一直是真的状态,它就会无限之的一直运行其下的代码,结束循环的代码是break.当然如果判定条件为假

bash中选择结构、循环结构与break、continue

if两种选择结构 if 测试条件; then 程序块 else 程序块 fi if 测试条件1; then 程序块 elif 测试条件2; then 程序块 ... elif 程序条件n; then 程序块 else 程序块 fi case选择结构 case 变量 in 情况1) 程序块 ;; 情况2) 程序块 ;; ... 情况n) 程序块 ;; *) 程序块 ;; esca for循环结构 for 变量 in 列表; do 程序块 done while循环结构 while 测试条件; do