Shell编程的示例分析

38次阅读
没有评论

共计 3021 个字符,预计需要花费 8 分钟才能阅读完成。

这篇文章主要介绍 Shell 编程的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

术语

同时它又是一种程序设计语言。作为命令语言,它交互式解释和执行用户输入的命令或者自动地解释和执行预先设定好的一连串的命令;作为程序设计语言,它定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括循环和分支。

在排序算法中,Shell 是希尔排序的名称。

基本上 shell 分两大类:

一:图形界面 shell(Graphical User Interface shell 即 GUI shell)

例如:应用最为广泛的 Windows Explorer(微软的 windows 系列操作系统),还有也包括广为人知的 Linux shell,其中 linux shell 包括 X window manager (BlackBox 和 FluxBox),以及功能更强大的 CDE、GNOME、KDE、XFCE。

二:命令行式 shell(Command Line Interface shell,即 CLI shell)

例如:

bash / sh / ksh / csh(Unix/linux 系统)

(MS-DOS 系统)

cmd.exe/ 命令提示字符(Windows NT 系统)

Windows PowerShell(支持 .NET Framework 技术的 Windows NT 系统)

传统意义上的 shell 指的是命令行式的 shell,以后如果不特别注明,shell 是指命令行式的 shell。

文字操作系统与外部最主要的接口就叫做 shell。shell 是操作系统最外面的一层。shell 管理你与操作系统之间的交互:等待你输入,向操作系统解释你的输入,并且处理各种各样的操作系统的输出结果。

shell 提供了你与操作系统之间通讯的方式。这种通讯可以以交互方式(从键盘输入,并且可以立即得到响应),或者以 shell script(非交互)方式执行。shell script 是放在文件中的一串 shell 和操作系统命令,它们可以被重复使用。本质上,shell script 是命令行命令简单的组合到一个文件里面。

Shell 基本上是一个命令解释器,类似于 DOS 下的 command。它接收用户命令(如 ls 等),然后调用相应的应用程序。较为通用的 shell 有标准的 Bourne shell (sh)和 C shell (csh)。

交互式 shell 和非交互式 shell

交互式模式就是 shell 等待你的输入,并且执行你提交的命令。这种模式被称作交互式是因为 shell 与用户进行交互。这种模式也是大多数用户非常熟悉的:登录、执行一些命令、签退。当你签退后,shell 也终止了。

shell 也可以运行在另外一种模式:非交互式模式。在这种模式下,shell 不与你进行交互,而是读取存放在文件中的命令,并且执行它们。当它读到文件的结尾,shell 也就终止了。

shell 的类型

在 UNIX 中主要有:

Bourne shell(包括 sh,ksh,and bash)

Bourne shell (sh)

Korn shell (ksh)

Bourne Again shell (bash)

POSIX shell (sh)

C shell(包括 csh and tcsh)

C shell (csh)

TENEX/TOPS C shell (tcsh)

Bourne Shell

首个重要的标准 Unix Shell 是 1970 年底在 V7 Unix(AT T 第 7 版)中引入的,并且以它的创始科技部基础条件平台“国家气象网络计算应用节点建设”(2004DKA50730)资助者 Stephen Bourne 的名字命名。Bourne shell 是一个交换式的命令解释器和命令编程语言。Bourne shell 可以运行为 login shell 或者 login shell 的子 shell(subshell)。只有 login 命令可以调用 Bourne shell 作为一个 login shell。此时,shell 先读取 /etc/profile 文件和 $HOME/.profile 文件。/etc/profile 文件为所有的用户定制环境,$HOME/.profile 文件为本用户定制环境。最后,shell 会等待读取你的输入。

C Shell

Bill Joy 于 20 世纪 80 年代早期,在伯克利的加利福尼亚大学开发了 C shell。它主要是为了让用户更容易的使用交互式功能,并把 ALGOL 风格的语法结构变成了 C 语言风格。它新增了命令历史、别名、文件名替换、作业控制等功能。

Korn Shell

有很长一段时间,只有两类 shell 供人们选择,Bourne shell 用来编程,C shell 用来交互。为了改变这种状况,AT T 的 bell 实验室 David Korn 开发了 Korn shell。ksh 结合了所有的 C shell 的交互式特性,并融入了 Bourne shell 的语法。因此,Korn shell 广受用户的欢迎。它还新增了数学计算,进程协作(coprocess)、行内编辑(inline editing)等功能。Korn Shell 是一个交互式的命令解释器和命令编程语言. 它符合 POSIX——一个操作系统的国际标准.POSIX 不是一个操作系统,而是一个目标在于应用程序的移植性的标准——在源程序一级跨越多种平台。

Bourne Again Shell (bash)

bash 是 GNU 计划的一部分,用来替代 Bourne shell。它用于基于 GNU 的系统如 Linux. 大多数的 Linux(Red Hat,Slackware,Caldera)都以 bash 作为缺省的 shell,并且运行 sh 时,其实调用的是 bash。

POSIX Shell

POSIX shell 是 Korn shell 的一个变种. 当前提供 POSIX shell 的最大卖主是 Hewlett-Packard。在 HP-UX 11.0,POSIX shell 就是 /bin/sh,而 bsh 是 /usr/old/bin/sh.

各主要操作系统下缺省的 shell:

AIX 下是 Korn Shell.

Solaris 缺省的是 Bourne shell.

FreeBSD 缺省的是 C shell

HP-UX 缺省的是 POSIX shell.

Linux 是 Bourne Again shell.

Windows PowerShell 是一种新的交互式的命令行和基于任务脚本编写技术,它使信息技术 (IT) 管理员能够全面地自动操作和控制系统管理任务,从而提高了管理员的生产力。Windows PowerShell 包括多个系统管理实用工具、一致的语法和命名惯例、及对普通管理数据更好地导航,如登记、证书存储 或 Windows Management Instrumentation (WMI)。Windows PowerShell 还专门针对 IT 管理,提供直观的脚本编写语言。

Shell 也是一个 VB 函数,它的作用是运行程序,语法是 Shell(命令字符串 [,窗口类型])

用途

使用用户的缺省凭证和环境执行 shell。

在 UEFI 环境下,EFI 的 Shell 环境提供了一组丰富的扩展和增强的命令,在以后的计算机中,传统的 DOS 界面将会被 SHELL 环境所取代,所有的.exe 文件将不会在以后支持 SHELL 的环境中出现,取而代之的文件后缀是.efi。在 SHELL 环境下,分为 IA32 和 X64,32 位的 *.efi 文件不能在 X64 的计算机中运行。

以上是“Shell 编程的示例分析”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注丸趣 TV 行业资讯频道!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-08-16发表,共计3021字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)