`

linux bash基础之流程控制

 
阅读更多

条件语句

算术比较

条件通常被放置在封闭的中括号内。一定要注意在[或]与操作数之间有一个空格。如果忘记了这个空格,脚本就会报错。例如:
[ $var-eq 0 ] var等于0时,返回真 ; [ $var-ne 0 ]var为非0时,返回真

重要的操作符:

语法 作 用
-gt 大于。
-lt 小于。
-ge 大于或等于。
-le 小于或等于
-eq 等于
-ne 不等于

可以按照下面的方法结合多个条件进行测试:

  • [ $var1 -ne 0 -a $var2 -gt 2 ] # 使用逻辑与-a
  • [ $var -ne 0 -o $var2 -gt 2 ] # 逻辑或 -o

字符串比较

使用字符串比较时,最好用双中括号,因为有时候采用单个中括号会产生错误,所以最好避开它们。
可以检查两个字符串,看看它们是否相同.

语法 作 用
[[ $str1 = $str2 ]] 当$str1等于$str2时,返回真。也就是说,$str1和$str2包含的文本是一模一样的。
[[ $str1 == $str2 ]] 这是检查字符串是否相等的另一种写法。也可以检查两个字符串是否不同。
[[ $str1 != $str2 ]] 如果$str1和$str2不相同,则返回真。我们还可以检查字符串的字母序情况,具体如下所示。
[[ $str1 > $str2 ]] 如果$str1的字母序比$str2大,则返回真。
[[ $str1 < $str2 ]] 如果$str1的字母序比$str2小,则返回真。
[[ -z $str1 ]] 如果$str1包含的是空字符串,则返回真。
[[ -n $str1 ]] 如果$str1包含的是非空字符串,则返回真。

使用逻辑运算符 && 和 || 能够很容易地将多个条件组合起来;if [[ -n $str1 ]] && [[ -z $str2 ]],非的语义 if [[ ! -n $str1 ]] ;注意空格

文件系统

语法 作 用
[ -f $file_var ] 如果给定的变量包含正常的文件路径或文件名,则返回真
[ -d $var ] 如果给定的变量包含的是目录,则返回真。
[ -e $var ] 如果给定的变量包含的文件存在,则返回真。
[ -w $var ] 如果给定的变量包含的文件可写,则返回真。
[ -r $var ] 如果给定的变量包含的文件可读,则返回真。
[ -c $var ] 如果给定的变量包含的是一个字符设备文件的路径,则返回真。
[ -b $var ] 如果给定的变量包含的是一个块设备文件的路径,则返回真。
[ -x $var ] 如果给定的变量包含的文件可执行,则返回真。
[ -L $var ] 如果给定的变量包含的是一个符号链

控制语句

if 语句

我们可以用if、if else以及逻辑运算符来执行测试,而用一些比较运算符来比较数据项。

if [ condition]
then 
	commands
else
	commands
fi

值得注意的是如果then 和 if 判断在同一行 需要加上 “;”

for 循环

形式1

值之间用空格分隔

for 变量 in XXX
	do 
		程序
	done
# 示例 1
for item in 1 2 3
    do
        echo $item
    done	
# 示例 2	
for item in $(ls ~)
    do
        echo $item
    done
# 示例 3
for 变量 in `seq 1 100`
	do 
		程序
	done

形式2

用seq

for ((初始值;控制条件;变量变化))
	do
		程序
	done

while 循环

while [条件判断式]
	do
		程序
	done

附 特殊符号

符 号 作 用
‘’ 单引号。在单引号中所有的特殊符号,如“$”和“`”(反引号)都没有特殊含义。
“” 双引号。在双引号中特殊符号都没有特殊含义,但是“$”、“`”和“\”是例外,拥有“调用变量的值”、“引用命令”和“转义符”的特殊含义。
`` 反引号。反引号括起来的内容是系统命令,在Bash中会先执行它。和$()作用一样,不过推荐使用$(),因为反引号非常容易看错。
$() 和反引号作用一样,用来引用系统命令。
# 在Shell脚本中,#开头的行代表注释。
$ 用于调用变量的值,如需要调用变量name的值时,需要用$name的方式得到变量的值。
\ 转义符,跟在\之后的特殊符号将失去特殊含义,变为普通字符。如\$将输出“$”符号,而不当做是变量引用。
分享到:
评论

相关推荐

    学习 bash 第二版(英文版).chm

    第五章:流程控制。 第六章:命令行选项和有类型变量。 第七章:输入 / 输出和命令行处理。 第八章:进程处理。 第九章:调试 shell 程序。 第十章:bash 管理。 第十一章:用户系统 bash。 附录一:相关 shell。 ...

    linux基础知识培训.ppt

    Linux 基础知识培训 Linux 基础知识培训是 Linux 新手入门的必读材料,本文将对 Linux 的历史、版本、优势、安装、文件系统、常用命令、shell 编程等方面进行详细的介绍。 一、Linux 的历史 Linux 的历史可以追溯...

    Linux脚本编写基础.pdf

    在Linux中,bash是最常用的shell之一,也是学习Linux脚本编写的基础。bash提供了一些基本的语法和命令,用户可以使用这些命令来编写自己的脚本语言。 语法基本介绍 ------------- 在Linux中,脚本语言的开头必须以...

    实战Linux Shell编程与服务器管理-作者:卧龙小三(1)

    管理者必须具备相当程度的Shell操控能力与Shell程序设计能力,卧龙小三拥有丰富的主机管理实务经验,以及多年的教学经验,相信这本《实战Linux Shell编程与服务器管理》必能引领读者轻松跨越Bash Shell程序设计的...

    LinuxShell脚本编程实例

    Linux Shell脚本编程实例 Linux Shell脚本编程实例是指使用Linux Shell...Linux Shell脚本编程实例是Linux Shell脚本编程的基础,涵盖了 Linux Shell脚本编程的所有方面,包括变量、控制结构、函数、环境变量等等。

    实战Linux Shell编程与服务器管理-作者:卧龙小三(7)

    管理者必须具备相当程度的Shell操控能力与Shell程序设计能力,卧龙小三拥有丰富的主机管理实务经验,以及多年的教学经验,相信这本《实战Linux Shell编程与服务器管理》必能引领读者轻松跨越Bash Shell程序设计的...

    LINUX编程基础Shell编程篇

    LINUX编程基础Shell编程篇 Shell编程是Linux编程基础中的一部分,它允许用户通过编写脚本来自动执行复杂的任务。在本节中,我们将学习如何编写Shell脚本,如何赋值和引用变量,如何使用流程控制语句,如何使用IF...

    Linux Shell脚本编程基础

    本文将对Linux Shell脚本编程基础进行详细的介绍,涵盖了变量赋值和引用、流程控制、Here Document、函数等多个方面。 1. 变量赋值和引用 在Shell编程中,使用变量无需事先声明,同时变量名的命名须遵循如下规则:...

    Linux与UNIX Shell编程指南.pdf

    控制结构是Shell脚本中用于控制执行流程的语句,包括if语句、case语句、for循环、while循环等。这些语句可以根据不同的条件和逻辑来执行不同的操作。 5. 函数 函数是Shell脚本中的一种编程单元,用于封装一组相关...

    Linux_基础教程--Shell脚本编程.ppt

    本文档为原创,主要讲解了基于linux平台的bash编程基本命令使用,帮助学习者熟悉Shell 脚本的编码规范,掌握执行和调试方法,掌握对变量进行整数运算和间接引用的方法,理解位置参数变量和特殊参数变量的用途,掌握...

    华为内部LINUX学习资料.pdf

    hell 是用户和 Linux 操作系统之间的接口 Linux 中有多种 shell 其中缺省 使用的是 bash Linux 系统的 shell 作为操作系统的外壳为用户提供使用操作系统的接口 它 是一个命令语言解释器 拥有自己内建的 shell 命令集...

    linux操作系统实验三.doc

    本实验旨在让学生了解 SHELL 程序设计的基础知识和方法,并掌握 SHELL 程序流程控制、SHELL 程序的运行方式、bash 程序的调试方法及 bash 的常用内部命令。通过本实验,学生可以基本掌握编写 SHELL 程序的步骤、方法...

    Linux学习笔记二 - Liunx命令(基础篇)

    Linux学习笔记二 - Liunx命令(基础篇) 本篇学习笔记主要集中于 Linux 命令的基础知识,涵盖了从基本命令到高级命令的使用方法。通过本篇学习笔记,读者可以快速找到自己想要查询的指令功能与相关用语说明,并且...

    Linux操作系统论文.doc

    Linux 操作系统论文 本文将详细介绍 Linux 操作系统...本文对 Linux 操作系统的基本概念、Shell 的概念、图形用户界面、变量、命令等知识点进行了详细的介绍,为读者提供了一个系统的学习 Linux 操作系统的基础知识。

    Linux常用命令和管理08-shell之脚本编程条件判断及算术运算1

    条件判断可以用于控制脚本的执行流程。 脚本编程 Bash 脚本编程是一种强大的工具,能够自动执行复杂的任务。脚本编程可以用于创建用户、创建文件、执行算术运算等。例如,创建 10 个用户:tuser601-tuser610,...

    RED HAT LINUX 6大全

    本书全面系统地介绍了Red Hat Linux 6。全书共分为五个部分,包括35章和四个附录。第一部分为Red Hat Linux的介绍和安装;第二部分为服务配置;第三部分为系统管理;第四部分为Linux编程;第五部分为附录。本书内容...

    边干边学Linux__第二版_doc格式

    第1章 Linux基础 1.1 登录Linux系统 1.2 Linx的shell 1.3 shell的一些基本命令 第2章 文本编辑 2.1 vi文本编辑器 2.2 emacs文本编辑器 第3章 Linux文件系统操作 3.1 文件类型 3.2 文件系统目录结构 3.3 目录操作的...

    《Linux实验》课程教学大纲.docx

    * 实验内容:shell 脚本的建立和执行、历史命令和别名定义、Shell 变量和位置参数、环境变量、bash 的特殊字符、一般控制结构和算术运算及 bash 函数。 * 成绩评定:实验报告(按时提交 5%、报告整洁 10%、报告内容 ...

Global site tag (gtag.js) - Google Analytics