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

最新文章

  1. item2快捷键
  2. iOS之获取屏幕尺寸
  3. Drupal资源
  4. Change MYSQL data directory
  5. VTK初学一,Pro文件的配置
  6. vim备忘
  7. Plugin with id 'com.android.application' not found.
  8. android向web提交参数的4种方式总结,附带网站案例源码
  9. python杂记-3(购买商品)
  10. cgi创建web应用(一)之传递表单数据与返回html
  11. 读写应用程序数据-SQLite3
  12. vs vsvim viemu vax 备忘
  13. Spring事务的传播行为 @Transactional(转)
  14. [usaco18Feb] New Barns
  15. Python(四) —— 函数
  16. MYSQL 总结——2
  17. makefile基本操作
  18. js里面判断一个字符串是否包含某个子串的方法
  19. Java虚拟机性能管理神器 - VisualVM(1) 简介 - JVM轻量级监控分析神器
  20. 使用Astah画UML类图经验总结

热门文章

  1. 近年NOI题目总结
  2. [HNOI2015]亚瑟王(概率期望,DP)
  3. JVM系列之二:编译过程
  4. IDEA Gradle配置与使用
  5. 【Gamma】Scrum Meeting 8
  6. HTML5微信长按图片不会弹出菜单的解决方法
  7. 【转帖】netstat命令总结
  8. idea Autowired 提示红色的解决方式
  9. .NET下使用HTTP请求的正确姿势
  10. 【LeetCode】680. Valid Palindrome II