内容简介
本书系统地介绍了在Linux系统中广泛使用的Bash脚本语言。全书内容的安排由浅入深,体系合理。先讲解脚本的概念和学习环境的搭建,接下来介绍Linux的常用命令,然后根据概念之间的依赖关系,讲解Bash环境设置、变量与数组、条件流程控制、循环、函数、正则表达式、文本处理、进程与作业、话题等。本书是一本不可多得的shell编程原创读物。
目录
第1章 概述
1.1 为什么要学习Linux shell脚本
1.2 什么是shell
1.3 什么是shell脚本
1.4 为什么要学习Bash
1.5 Bash学习环境的准备
1.6 Linux命令格式简介
1.7 如何获得Linux命令的帮助
第2章 Linux基础知识与常用命令
2.1 Linux的文件与目录结构
2.2 查看文件清单命令ls
2.3 浏览文件命令cat、more、less、head和tail
2.4 文件统计命令wc
2.5 改变当前工作目录命令cd
2.6 创建目录命令mkdir
2.7 复制命令cp
2.8 重命名或移动命令mv
2.9 创建符号链接和硬链接命令ln
2.10 显示当前目录命令pwd
2.11 产生空文件或者改变文件时间戳命令touch
2.12 查看账户名及其所属组的命令whoami、id和groups
2.13 文件与目录的权限
2.14 改变权限命令chmod
2.15 SUID与SGID以及粘滞位
2.16 文件时间的查看以及状态改动时间
2.17 删除命令rm与rmdir
2.18 编辑文件命令vi
2.19 用于显示的命令echo
2.20 查看文件类型命令file
2.21 显示树状目录信息命令tree
2.22 查找命令find
第3章 Bash内置命令与环境简介
3.1 内置命令与外部命令
3.2 认识Bash环境
3.3 权限掩码命令umask
3.4 source命令和点命令
3.5 编写并运行第一个脚本
3.6 命令解释顺序与命令类型的查询
3.7 命令的退出状态以及命令true和false
3.8 管道
3.9 输入输出重定向
3.10 exec命令与文件描述符
3.11 有关命令的进一步讨论
第4章 变量与数组
4.1 变量的定义与清除
4.2 字符串定义及单双引号与大括号的使用
4.3 将命令执行结果赋给变量——反引号与$()
4.4 键盘输入变量值——内置命令read
4.5 整型变量运算
4.6 浮点运算
4.7 定义只读变量命令readonly和declare -r
4.8 定义整型变量命令declare -i
4.9 数组
4.10 关联数组
4.11 导出变量命令export和declare -x
4.12 declare命令总结
4.13 环境变量与特殊变量
4.14 内置变量
4.15 计算表达式值的命令expr
4.16 变量测试及其相应的赋值
4.17 字符串操作
第5章 条件流程控制
5.1 条件判断与test命令
5.2 条件测试结构if
5.3 if-else结构
5.4 if-elif结构
5.5 分情况选择处理——case命令
5.6 命令exit与if及case命令的配合
5.7 用here文档与case命令生成菜单
5.8 null命令
第6章 循环
6.1 for循环
6.2 算术for循环
6.3 while循环
6.4 until循环
6.5 用break和continue控制循环
6.6 用命令shift控制循环
6.7 选择命令select
6.8 循环命令与I/O重定向及管道的配合
6.9 脚本的选项与参数
第7章 函数
7.1 函数定义
7.2 给函数传递参数
7.3 函数的局部与全局变量
7.4 当前的函数名FUNCNAME
7.5 在命令行执行函数
7.6 查看当前shell的函数定义
7.7 选项-f与函数的导出、清除与只读设置
7.8 返回命令return
7.9 递归函数
第8章 正则表达式与文本处理
8.1 文件名替换
8.2 正则表达式与grep
8.3 剪取内容命令cut
8.4 合并相应行的命令paste
8.5 转换或删除字符命令tr
8.6 排序命令sort
8.7 流编辑器sed
8.8 文本处理工具awk
8.9 格式化打印命令printf
第9章 进程与作业
9.1 查看进程命令ps
9.2 挂起进程Ctrl+Z键
9.3 前台fg与后台b