善良给对人 发表于 2023-3-5 00:49:38

# Shell 是什么?

原文:What is a Shell?
注意:本文是对原文的一个翻译!
Shell是一个宏处理器,用于执行命令。宏处理器意味着,将文本和符号展开,创建一个更大的表达式。
Unix shell 既是一个命令解释器,也是一门编程语言。作为一个命令解释器,它提供了丰富的GUN工具集可以与用户进行交互。作为编程语言,它可以组合使用这些工具。创建的文件能包含命令,而这个文件同时也将成为一个命令──这是个新的命令,有着与/bin中的命令一样的状态。用户组合命令,建立自动化命令的环境。
Shell可以交互的使用,也可以以非交互的方式使用。交互状态,从键盘获取输入;非交互状态,从文件中执行命令。
Shell能以同步(synchronously)或异步(asynchronously)的方式执行命令。重定向构造,可以控制输入和输出命令的粒度(fine-grained)。shell也允许控制命令环境的内容。
Shell提供了一些内建的命令,用于实现工具所不能或不方便实现的功能。这些命令有:

[*]cd
[*]break
[*]continue
[*]exec

[*]exec 不能在外部实现,因为它会直接操作shell本身。

[*]history
[*]getopts
[*]kill
[*]pwd
有一些命令可以以工具的方式实现,但实现在中shell更为便。
执行命令只是基本,与大多数的编程语言一样,shell也提供了变量(variables),流控制结构(flow control constructs),引用(quoting)与函数(function)。
Shell提供了专门用于交互使用的功能,有:

[*]作业控制(job control)
[*]命令行编辑(command line editing)
[*]命令历史(command history)
[*]别名(aliases)

来源:https://www.cnblogs.com/lin-hui/p/17179476.html
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: # Shell 是什么?