请教:如何用bash实现一个程序

请教:如何用bash实现一个程序,第1张

关于 Linux 系统下面的 SHELL 高级编程技术,这个必须要仔细地阅读 SHELL 编程的详细相关文档。因为 UNIX/Linux 下面的 SHELL 功能是非常强大的。例如:和各种命令参数表示有关的就有:$!、$#、$$、!!,等等。

根据我以前的 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处理为一个单元的字符序列。 单词可能不包括不带引号的元字符。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7949664.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-11
下一篇 2023-04-11

发表评论

登录后才能评论

评论列表(0条)

保存