《linux就该这么学》课堂笔记06 编写shell脚本、if、for

1.1、脚本的两种方式

交互式(Interactive):用户每输入一条命令就立即执行。

批处理(Batch):由用户事先编写好一个完整的Shell脚本,Shell会一次性执行脚本中诸多的命令。

1.2、构成

#!/bin/bash 脚本声明

脚本注释

脚本命令1

脚本命令2

...

1.3、参数

$0:当前脚本程序的名称

$#:脚本接收参数总数

$*:对应所有位置参数

$?:对应上一次命令执行的返回值 (0:true,非零值:false)

$1、$2、$3、$4...:分别对应第N个位置的参数值

2、条件测试语句可以分为4种

文件测试语句;

逻辑测试语句;

整数值比较语句;

字符串比较语句。

文件测试所用的参数

操作符 作用
-d 测试文件是否为目录类型
-e 测试文件是否存在
-f 判断是否为一般文件
-r 测试当前用户是否有权限读取
-w 测试当前用户是否有权限写入
-x 测试当前用户是否有权限执行

 可用的整数比较运算符

操作符 作用
-eq (equal) 是否等于
-ne (not equal) 是否不等于
-gt (greater than) 是否大于
-lt (less than) 是否小于
-le 是否等于或小于
-ge 是否大于或等于

 常见的字符串比较运算符

操作符 作用
= 比较字符串内容是否相同
!= 比较字符串内容是否不同
-z 判断字符串内容是否为空

if条件测试语句

单分支结构关键词:if、then、fi

if 条件测试操作

  then 

    命令序列

fi

if 条件测试操作; then

  命令序列

fi

双分支结构关键词:if、then、else、fi

if 条件测试操作

  then

    命令序列1

  else

    命令序列2

fi

多分支结构关键词:if、then、elif、else、fi

if 条件测试操作1

  then

    命令序列1

  elif 条件测试操作2

    then

      命令序列2

  else

    命令序列3

fi

for条件循环语句

for 变量名 in 取值列表

do

  命令序列

done

原文地址:https://www.cnblogs.com/dustinsky/p/11916891.html