本章小结
变量在正是一点的程序里是必备项目.shell的变量会保留字符串值,而大量的运算符可以在${var...}里使用,让你控制变量的结果.
shell提供了许多的特殊变量(例如#?与$!),用来访问特殊信息,例如,命令退出状态.shell也有许多预定义的特殊变量,例如PS1----用来设置主要提示符.位置参数与$*和$@这类的特殊变量,则用来在脚本(或函数)被引用是,让用户可以访问被使用的参数.env,export以及readonly则用来控制环境.
$((...))的算术展开提供完整的算术运算能力,且使用与C相同的运算符与优先级.
程序的退出状态是一个小的整数,可以在程序完成后,攻饮用者使用;shell脚本使用exit命令来做这件事,而shell函数则使用return命令.shell脚本可以取得在特殊变量$?内执行的最后一个命令的退出状态.
退出状态可以搭配if,while与until语句来进行流程控制,也可以与!,&&,以及||运算符搭配使用.
test命令及其别名[...],可测试文件属性和字符串与数值,在if,while以及until语句里,他也相当有用.
for提供遍历整组值的的循环机制,这整组的值可以是字符串,文件名或其他等等.while与until提供比较传统的循环方式,加上break和continue提供额外的循环控制.case语句提供一个多重比较功能,类似C与C++里面的switch语句.
getopts,shift与$#提供处理命令行的工具.
最后shell函数可将相关命令组织到一起,之后再将它视为一个单独调用使用.他们有点像shell脚本,只不过他将命令存放在内存里,这样更有效率,且他们还能影响引用脚本的变量与状态.