Shell脚本编程之判断语句
一、单分支if语句
格式:if 判断条件;then
statement1 statement2 ... fi
二、双分支的if语句
格式:if 判断条件; then
statement1 statement2 ... else statementN ... fi
使用一个以前用过的脚本来说明这个结构。
三、多分支if语句
格式:if 判断条件1;then
statement1 ... elif 判断条件2; then statement2 ... elif 判断条件3; then statement3 ... else statement4 ... fi
四、case语句
格式:case 变量 in
PATTERN1) statement ... ;; PATTERN2) statement ... ;; *) statement ... ;; esac
因为判断结构语句比较简单,没有做过多的说明,只要记住各语句的结构用法即可。
补充shell基本语法
1.1、shell文件开头
shell文件必须以下面的行开始(必须方在文件的第一行):
#!/bin/sh
符号#!用来告诉系统它后面的参数是用来执行该文件的程序。在这个例子中我们使用/bin/sh来执行程序。
当编辑好脚本时,如果要执行该脚本,还必须使其可执行。
要使脚本可执行:
运行chmod +x filename 这样才能用./filename 来运行
1.2 注释
在进行shell编程时,以#开头的句子表示注释,直到这一行的结束。我们真诚地建议您在程序中使用注释。
如果您使用了注释,那么即使相当长的时间内没有使用该脚本,您也能在很短的时间内明白该脚本的作用及工作原理。
1.3 变量
在shell编程中,所有的变量都由字符串组成,并且您不需要对变量进行声明,直接赋值就可以,应用变量的话,用$+变量名的形式。
要赋值给一个变量,您可以这样写:
a="hello world"
现在打印变量a的内容:
echo "A is:" echo $a
有时候变量名很容易与其他文字混淆,比如:
num=2 echo "this is the $numnd"
这并不会打印出"this is the 2nd",而仅仅打印"this is the ",因为shell会去搜索变量numnd的值,但是这个变量时没有值的。可以使用花括号来告诉shell我们要打印的是num变量:
num=2 echo "this is the ${num}nd"
这将打印: this is the 2nd
1.4 环境变量
由export关键字处理过的变量叫做环境变量。我们不对环境变量进行讨论,因为通常情况下仅仅在登录
脚本中使用环境变量。
相关推荐
-
shell脚本编程之for语句、if语句使用介绍
上部: 面向过程:顺序执行选择执行: if, case循环执行: for, while, until 一.for语句 格式: for 变量 in 列表;do 语句1; 语句2; ... done 例1.写一个脚本,添加10个用户,并让每个用户的密码同用户名] 复制代码 代码如下: #!/bin/bash for I in {1..10}; do useradd user$I; echo us
-
Linux shell脚本编程if语句的使用方法(条件判断)
if 语句格式if 条件then Commandelse Commandfi 别忘了这个结尾If语句忘了结尾fitest.sh: line 14: syntax error: unexpected end of fi if 的三种条件表达式 ifcommandthen if 函数then 命令执行成功,等于返回0 (比如grep ,找到匹配)执行失败,返回非0 (grep,没找到匹配)if [ expression_r_r_r ]then 表达式结果为真,则返回0
-
Linux Shell脚本编程初体验
通常,当人们提到"shell脚本语言"时,浮现在他们脑海中是bash,ksh,sh或者其它相类似的linux/unix脚本语言.脚本语言是与计算机交流的另外一种途径.使用图形化窗口界面(不管是windows还是linux都无所谓)用户可以移动鼠标并点击各种对象,比如按钮.列表.选框等等.但这种方式在每次用户想要计算机/服务器完成相同任务时(比如说批量转换照片,或者下载新的电影.mp3等)却是十分不方便.要想让所有这些事情变得简单并且自动化,我们可以使用shell脚本. 某些编程语言,像
-
shell脚本编程之case语句学习笔记
case语句是用来实现多个if..else的功能的,但是用法上有些不同,学过其他语言的人都知道,case中要对变量进行匹配,如果有一个匹配成功的话就执行相应的语句.shell编程中的case语句也是这个意思,case会对字符串进行匹配,是从第一个模式开始的,如果有一个模式已经匹配成功的话,其他的模式就不会再进行匹配了,下面看下代码中的用法吧. #!/bin/sh echo "please yes or no" read input #case语句的基本用法,记住每一个匹配后边都有双分号
-
shell脚本编程之数组
数组就是相同数据类型的元素按一定顺序排列的集合,就是把有限个类型相同的变量用一个名字命名,然后用编号区分他们的变量的集合,这个名字称为数组名,编号称为下标.组成数组的各个变量称为数组的元素.数组是在程序设计中,为了处理方便, 把具有相同类型的若干变量按有序的形式组织起来的一种形式. 一.数组的表示方式 1.下标数组 下标必须为整数,格式:数组名[下标],下标默认从0开始. shell支持稀疏数组,下标整数不需要连续. 声明方式:declare -a 数组名 2.关联数组 关联数组可以使用任意的字
-
5个Shell脚本编程入门练习例子
例子一:绘制特殊图形 复制代码 代码如下: #!/bin/bash MAX_NO=0 echo -n "Enter Number between (5 to 9) : " read MAX_NO if ! [ $MAX_NO -ge 5 -a $MAX_NO -le 9 ] ; then echo "WTF... I ask to enter number between 5 and 9, Try Again" exit 1 fi clear
-
Linux命令行和shell脚本编程宝典 Richard Blum
第一个脚本文件 复制代码 代码如下: #!/bin/bashecho "This is my first bash code!"exit 0 重定向符号和数学计算 复制代码 代码如下: #!/bin/bashecho -n "The time and date are: "datevalue1=100 #等号前后不允许出现空格value2=$value1echo -n "value1="echo $value1echo -n "val
-
Shell脚本编程中常用的数学运算实例
这部分主要讨论数学相关的shell脚本编程. 加法运算 新建一个文件"Addition.sh",输入下面的内容并赋予其可执行的权限. 复制代码 代码如下: #!/bin/bash echo "Enter the First Number: " read a echo "Enter the Second Number: " read b x=$(expr "$a" + "$b") echo $a + $b =
-
Linux Shell脚本编程的注意事项
一.常用技巧 复制代码 代码如下: ssh user@server bash < /path/to/local/script.sh#ssh到远程服务器执行一个脚本,此命令可以避免将脚本上传到远程服务器 ssh user@host cat /path/to/remotefile | diff /path/to/localfile -#比较远程文件和本地文件的差异 vim scp://username@host//path/to/somefile#vi一个远程文件 curl ifconfig.me#
-
shell脚本编程之if语句学习笔记
我不是研究linux下的东西的,所以这里只对shell脚本的用法做一个介绍,把我自己在使用过程中出现的问题记录下来,同时也是写下一些shell脚本语法的规则,方便以后查看.先来学习一下条件语句if的用法,通过这一个简单的语法来说明一下shell脚本编程时候的东西. 复制代码 代码如下: #!/bin/sh echo "please input text1" read text1 echo "please input text2" read text2 #判断字符串等
-
shell脚本编程之循环语句
在运行脚本时重复执行一系列的命令是很常见的,这时我们就需要使用循环语句来达到这个目的. 一.for命令 格式:for 变量 in 列表:do 循环体 done for命令会遍历列表中的每一个值,并且在遍历完成后退出循环. 列表形式有以下几种: 1.在命令中定义的一系列的值: 2.变量: 3.命令: 4.目录: 5.文件. 实例1: 上例中使用{初始值..结束值}格式来表示一个区间的数值. 实例2:以变量作为列表: 实例3:用命令生成列表: 上例中使用seq命令来生成列表,seq命令的格式为:se
-
shell脚本编程之循环语句学习笔记
本篇博客很简单,看一下shell编程使用到的循环语句,包括for循环,while循环,until循环,for后边跟一个变量,然后是一个集合,将集合中的东西赋给这个变量,每次循环执行,这跟java中的foreach很像,while循环和if使用同样的条件判断,满足条件执行语句,until和while相反,不满足条件执行语句,是不是很简单啊,下面看一下代码吧. 复制代码 代码如下: #!/bin/sh #for循环最基本的用法 for var in "hello" "xiao t
-
shell脚本编程实现9*9乘法表
脚本内容 复制代码 代码如下: #!/bin/bash for i in "1" "2" "3" "4" "5" "6" "7" "8" "9" do for j in "1" "2" "3" "4" "5&quo
-
Linux Shell 脚本编程入门教程
从程序员的角度来看, Shell本身是一种用C语言编写的程序,从用户的角度来看,Shell是用户与Linux操作系统沟通的桥梁.用户既可以输入命令执行,又可以利用 Shell脚本编程,完成更加复杂的操作.在Linux GUI日益完善的今天,在系统管理等领域,Shell编程仍然起着不可忽视的作用.深入地了解和熟练地掌握Shell编程,是每一个Linux用户的必修 功课之一. Linux的Shell种类众多,常见的有:Bourne Shell(/usr/bin/sh或/bin/sh).Bourne
随机推荐
- 如何创建Word文件?
- Applet小应用程序开发简介
- java虚拟机指令dup详解
- PHP排序算法的复习和总结
- Yii2实现自定义独立验证器的方法
- 一款支持插入表情的编辑器实现代码(简单思路挺重要)
- 数据类型和Json格式分析小结
- Zepto实现密码的隐藏/显示
- JS实现iframe编辑器光标位置插入内容的方法(兼容IE和Firefox)
- 站长注意了 太晚睡觉等于自杀 <年輕人,以后不要熬夜了>
- 微信页面倒计时代码(解决safari不兼容date的问题)
- javascript运算符语法全面概述
- Nginx平滑升级的详细操作方法
- android 大图片拖拽并缩放实现原理
- ADO.NET通用数据库访问类
- web.config文件的中文解释
- 一个查ASP木马的小东东
- 域名产业风生水起 投资领域生机勃勃
- iOS动态调整UILabel高度的几种方法
- Flutter中http请求抓包的完美解决方案