本课程旨在介绍如何充分挖掘unix/linux程序和命令的功能。通过shell的内置功能可以编写非常复杂的应用程序,可以说几乎所有的应用程序都可 以用shell脚本来编写,脚本是一种最容易获得的系统工具,无须额外的编译器和开发环境,只要有unix/linux主机,就自然可以用到脚本。深入了 解shell的内置功能可以大大降低unix/linux管理员和程序员的劳动强度,提高主机资源管理的效率
3天
本课程适用于Linux、Unix管理人员学习,学员需具备unix/linux系统使用经验。
第一部分.shell 编程 简介
2.1. 调用一个脚本
2.2. 初步的练习
第二部分. 基本
4.1. 变量替换
4.2. 变量赋值
4.3. Bash变量是不区分类型的
4.4. 特殊的变量类型
5.1. 引用变量
5.2. 转义
7.1. 条件测试结构
7.2. 文件测试操作符
7.3. 其他比较操作符
7.4. 嵌套的if/then条件测试
7.5. 检测你对测试知识的掌握情况
8.1. 操作符
8.2. 数字常量
第三部分. 进阶
9.1. 内部变量
9.2. 操作字符串
9.3. 参数替换
9.4. 指定变量的类型: 使用declare或者typeset
9.5. 变量的间接引用
9.6. $RANDOM: 产生随机整数
9.7. 双圆括号结构
10.1. 循环
10.2. 嵌套循环
10.3. 循环控制
10.4. 测试与分支(case与select结构)
11.1. 作业控制命令
12.1. 基本命令
12.2. 复杂命令
12.3. 时间/日期 命令
12.4. 文本处理命令
12.5. 文件与归档命令
12.6. 通讯命令
12.7. 终端控制命令
12.8. 数学计算命令
12.9. 混杂命令
13.1. 分析一个系统脚本
16.1. 使用exec
16.2. 代码块重定向
16.3. 重定向的应用
17.1. Here String
第四部分. 高级主题
19.1. 一份简要的正则表达式介绍
19.2. 通配(globbing)
23.1. 复杂函数和函数复杂性
23.2. 局部变量
23.3. 不使用局部变量的递归
27.1. /dev
27.2. /proc
32.1. 非官方的Shell脚本编写风格
33.1. 交互与非交互式的交互与非交互式的shell和脚本
33.2. Shell包装
33.3. 测试和比较: 一种可选的方法
33.4. 递归
33.5. 将脚本”彩色化”
33.6. 优化
33.7. 各种小技巧
33.8. 安全问题
33.9. 可移植性问题
33.10. Windows下的shell脚本