根据我以前的 SHELL 编程经验,不同版本的 SHELL,例如:bash、C-Shell 等等,对于即使完成相同的功能的 SHELL 程序,其语法格式也并不是完全通用的。哪怕是一个标点符号在语句中的位置写得不到位,即使你的编程思路再正确,SHELL 程序也无法得出正确的执行结果。调试 SHELL 程序的难度还是相当大的。而且通常来说,SHELL 编程还需要和 awk、sed、管道 *** 作(|)等编程技术的使用,才能够充分发挥 SHELL 的强大编程功能。
POSIX:一系列基于Unix的开放系统标准。 Bash主要关注posix 1003.1标准的Shell和Utilities部分。
blank :空格或tab字符
builtin:由shell本身在内部实现的命令,而不是由文件系统中的某个可执行程序实现的命令。
control operator: 执行控制功能的记号。 它是换行符或以下之一:‘||’, ‘&&’, ‘&’, ‘’, ‘’, ‘&’, ‘&’, ‘|’, ‘|&’, ‘(’, or ‘)’
exit status:命令返回给调用者的值。 该值限制为8位,因此最大值为255。
field:一个文本单元,它是一个shell扩展的结果。 扩展后,执行命令时,生成的字段将用作命令名称和参数。
filename:用于标识文件的字符串。
job:组成一个管道的进程组以及其任一子进程,这些进程都处于同样的进程组。
job control:用户可以选择性地停止(暂停)和重新启动(恢复)进程执行的机制。
metachracter:一个分隔单词的字符(不加引号时)。 元字符是空格,制表符,换行符或以下字符之一:‘|’, ‘&’, ‘’, ‘(’, ‘)’, ‘<’, or ‘>’。
name:由字母,数字和下划线组成并且以字母或下划线开头的单词。 名称用作shell变量名和函数名。 也称为标识符。
operator:控制 *** 作符或重定向 *** 作符。 运算符包含至少一个不带引号的元字符。
process group:一个具有相同进程组ID的相关进程的集合。
process group ID:在其生命周期内表示进程组的唯一标识符。
reserved word:一个对shell有特殊意义的词。 大多数保留字引入了shell流控制结构,例如for和while。
return status:exit status的同义词。
signal:一种机制,通过该机制,内核可以通知系统中发生的事件。
special builtin:shell内置命令,由posix标准分类为特殊命令。
token:shell的一系列字符被认为是一个单元。 它既可以是单词,也可以是运算符。
word:由shell处理为一个单元的字符序列。 单词可能不包括不带引号的元字符。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)