Shell脚本编程之判断语句
作者:petmaster
一、单分支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关键字处理过的变量叫做环境变量。我们不对环境变量进行讨论,因为通常情况下仅仅在登录
脚本中使用环境变量。