bash编程语法总结,顺序,循环,选择

bash编程语法

    首先,我们先说下bash语法都有哪些内容,随后我会随后一一去分析,加强我记忆的同时也分享下给家。

linux bash脚本的基本内容构架如下

#!/bin/bash   -----> 每个bash脚本第一行必须要写的,告诉系统这是个bash脚本。

#              -----> #为注释的标志符号,#开头的行都是脚本不执行的,仅用作注释

命令段     -----> 脚本要执行的具体命令,来完成相应的功能

bash编程为过程式编程语言,有3种主要语句即为:

顺序执行语句:最简单的,至上而下执行语句,工作模式为:

#!/bin/bash

#(可有可无)

语句1

语句2

先执行语句1,再执行语句2,例如:

创建脚本 bash1.sh

输出结果为:hello !

hao are you

循环执行语句:有3种,for循环,while循环,until循环

基本结构如下:()内的内容就是变量要依次读出的内容,并要放到循环体中去执行的

for 变量 in (列表); do

循环体

done

循环体中的变量依次从列表中读取数据,知道列表中的数据读取完为止,例如:

我们求 1到100之间的所有整数的和为例,

创建脚本 bash2.sh  (for循环)

图中,i为变量(bash编程中,变量无需提前定义),对变量取值要用$,如对i取值:$i

但是,我们对于图中的sun变量为什么要定义且赋予值0呢?,因为我们要做累加运算,必须有个初值,比如你要算账的话,必须知道算账之前的账单状态,才能得出结果啊,也就是数据的初始化。

{1..100}表示,1到100的所有整数1,2,3........99,100

输出结果为5050,你可以自己验证下

while循环样例

while [条件测试]; do

循环体

done

上图中,counter=1,为条件测试的变量counter的初始值,

let counter++ , 为循环体每执行一次,变量counter就自动+1,直到不满足测试条件为止,本题中,变量counter直到大于100,不满足测试条件,循环结束,输出最后结果为5050

until循环:基本格式:

until [条件测试]; do  #until的测试条件,为真跳出循环,为假则执行语句(看清楚)

循环体

done

我们依然以1+2+3+.....+99+100为例:

看到图中的测试条件了没有,while循环时,判断为 -ge 意思 小于等于,

until循环时,判断为 -gt 意思 大于,相反,这个从单词意思上就能看的出来,是不是这样啊。

这里我们说到了比较符号,那就补充下吧,

bash编程中测试类型有:

整型测试:整数的比较

基本模式为: [ $变量1 -gt $变量2 ]

-gt 大于

-lt 小于

-ge 大于等于

-le 小于等于

-ne  等于

-ne  不等于

字符测试:(分为单目和双目)字符串的比较

双目:

>

<

=

>=

<=

单目:

-n String: 是否不空,不空则为真,空则为假

-z String: 是否为空,空则为真,不空则为假

选择语句:简单比放下,你选择

从A开始,选择B,则执行1,选择C,则执行2,

选择语句一般有以下几种,

单分支if语句

最基本的格式:

if [条件测试];then    #里面的【条件测试】如果为真,则执行语句1,为假执行语句2

语句1

fi

case

我们来看下选择语句的样题:

假如:如果我们输入一个整数数a,如果此整数a为偶数,则输出A,其他则退出

如果输入2,则输出 A,输入3,则退出脚本,不显示内容

上图中,让用户输入一个内容,的语句格式为: read  -p  提示内容  变量

来判断一个数是否为偶数,我们用取余运算,但是发现了没有,$[$num%2],我在$num%2的前面又加了一个$,意思为,取运算完成后的数值与0进行比较,不加就会出现错误的哦

双分支if语句,

基本格式为:

if [条件测试];then

语句1

else

语句2

fi

条件测试满足即为真时,执行语句1,否则执行语句2

样例:如果我们输入一个整数数a,如果此整数a为偶数,则输出A,否则输出B

上图中,如果你输入的为2,则输出A,输入的为3,则输出B,你可以自己试下,

还有个多分支if语句:

格式为:

if [测试条件1]; then

语句1

elif [测试条件2]; then

语句2

elif [测试条件3]; then

语句3

......

......

else

语句4

fi

意思为,符合测试条件1,执行语句1,符合测试条件2,执行语句2,依次类推。

例如,我们输入一个数,如果输入1,显示A;输入2,显示B;输入3,显示C;输入4,显示D;输入其他内容,则直接退出,并且显示内容,请输入(1|2|3|4),

最后还有个case语句,也输入选择语句的一种:

格式如下:

case 变量  in

条件1)

语句1

;;

条件2)

语句2

;;

条件3)

...

;;

esac

举个例子吧,就用case语法写一下上题那个if选择语句,

结果和if选择样题是一样的,我测试过啦,才发出来的

bash中主要用到的基本内容就如上啦,其中有些,例如逻辑运算,变量的命名以及规则等,没有做详细介绍,有需要的可以问下,学而时习之,不辞下问都懂得。

bash编程语法总结,顺序,循环,选择

时间: 2024-10-26 04:26:48

bash编程语法总结,顺序,循环,选择的相关文章

Bash编程语法结构第二节

Bash编程语法结构 一.for结构 其中 $var 是循环控制变量,[list] 是 $var 需要遍历的一个集合, do/done 对包含了循环体,相当于 C 语言中的一对大括号.另外如果 do 和 for 被写在同一行,必须在 do 前面加上 ";".如: for $var in [list]; do .下面是一个运用 for 进行循环的例子: 二.while适用于循环次数未知,或不便用for直接生成较大的列表时: while 测试条件; do 循环体 done 测试条件为真,进

C语言第五讲,语句 顺序循环选择.

C语言第五讲,语句 顺序循环选择. 一丶语句的简明了解 我们知道,在编写C语言程序的时候,代码是顺序执行的. 从上往下执行. 但是我们可以控制流程的. 在控制之前,我们要先熟悉什么是语句. 相比大家学习过语文知识, 知道一条句子是以句号结尾的. 那么高级代码也是这样.只不过不是句子结尾.而是分号结尾. 例如: int main() { int a = 10; 一条语句 return 0; } 二丶选择结构 我们说过C语言是顺序结构来执行语言的,那么我们可以控制它执行的语句. C语言关键字 if,

bash编程基础及for循环

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

怎样用 Bash 编程:语法和工具

让我们通过本系列文章来学习基本的 Bash 编程语法和工具,以及如何使用变量和控制运算符,这是三篇中的第一篇. Shell 是操作系统的命令解释器,其中 Bash 是我最喜欢的.每当用户或者系统管理员将命令输入系统的时候,Linux 的 shell 解释器就会把这些命令转换成操作系统可以理解的形式.而执行结果返回 shell 程序后,它会将结果输出到 STDOUT(标准输出),默认情况下,这些结果会显示在你的终端.所有我熟悉的 shell 同时也是一门编程语言. Bash 是个功能强大的 she

linux下Bash编程循环语句特殊用法之编写脚本(十)

linux下Bash编程while语句特殊用法之编写脚本(十) 1.循环控制: break:中断整个循环语句,即退出循环后执行脚本后面的语句 continue:中断当前本次循环,提前进入下一轮循环 exit:结束脚本运行 2.while死循环,即当不知道循环多少次时 格式 : while :; do 循环语句 done 3.while从输入重定向文件中每行读取并赋值给read变量 格式:  while read LINE;do 循环语句 done < 路径文件 4.实例脚本 4.1.找出/etc

c++程序流程结构(顺序、选择、循环)break、continue

程序流程结构分类 从上到下就是顺序结构 选择结构 if语句.if-else语句(三目运算符 a>b?a:b).if -else if-else语句. switch语句 int main() { int a = 10; switch (a) { case 1: cout << "111"; break; case 2: cout << "222"; break; case 3: cout << "333";

bash编程及多命令

bash脚本编程: 编程?使用人类自然语言或机器语言进行程序源代码书写的过程 为什么要编程?为了能够让用户在使用计算机的时候,可以让计算机以非交互的方式完成某些任务:此时用户需要将此类任务编辑成为一个文件,并且让计算机按照特定书序进行任务读取,从而实现预期的功能 为了让计算机能够解读此类文件的内容并正确的予以执行,必须将程序源代码文件转换为计算机可以直接识别并使用的二进制格式,此转换过程称为编译:而想要完成编译过程,必须使用特定的编译器工具:因此,无论使用何种编译语言进行程序编写,都必须严格按照

怎样用 Bash 编程:逻辑操作符和 shell 扩展

学习逻辑操作符和 shell 扩展,本文是三篇 Bash 编程系列的第二篇. Bash 是一种强大的编程语言,完美契合命令行和 shell 脚本.本系列(三篇文章,基于我的 三集 Linux 自学课程)讲解如何在 CLI 使用 Bash 编程. 第一篇文章 讲解了 Bash 的一些简单命令行操作,包括如何使用变量和控制操作符.第二篇文章探讨文件.字符串.数字等类型和各种各样在执行流中提供控制逻辑的的逻辑运算符,还有 Bash 中的各类 shell 扩展.本系列第三篇也是最后一篇文章,将会探索能重

Bash编程入门

一.编程语言分类 二.shell编程特性 三.bash配置文件profile&bashrc 四.面向对象和面向过程 一.编程语言分类: 1.编程语言分类:根据运行方式 编译运行:源代码-->编译器(编译)-->程序文件 运行速度快,但是拍错效率低 C语言:通过调用函数库,或者类库来完成 解释运行:源代码-->运行时启动解释器,由解释器边解释边运行 完全借助于外部的程序来完成 2.根据其编程过程功能的实现是调用库还是调用外部的程序文件: shell脚本编程 利用系统上的命令及编程组