有多少个用户,就有多少个 shell;但基本上有两种类型的 shell:命令行或 Bourne。其他任何东西都是方言,而不是不同的语言。
Unix shell
Unix shell 是最初的版本,并且仍然很强大。 Unix shell 可在 Unix 和 Unix 相关操作系统(例如 Mac)上运行。
命令行
命令行 (csh) 是最常见的 Unix shell。命令行在交互式工作中很突出,例如别名、cdpath、作业控制、路径哈希、目录堆栈等。
特内克斯命令行
Tenex 命令行 (tcsh) 由卡内基梅隆大学的 Ken Greer 开发。 Tenex 被认为是对原始命令行版本的改进。与原始 C 不同,Tenex 提供命令行编辑和完成等功能。 1981年,tsch与csh合并。
贝壳科恩
Korn (ksh) shell 是另一种 Unix shell,但它们是 C shell 和 Bourne shell 之间的一种折衷方案,并且向后兼容后者。 Korn shell 是由贝尔实验室的 David Korn 在 20 世纪 80 年代初开发的。
再次炮弹谍影
Bourne Again shell (Bash) 是一个开源 Unix shell,由 Brian Fox 在 20 世纪 90 年代末为 GNU 项目编写,是对 Bourne shell 的改进。
奇异的贝壳
尽管它们都基于 C 或 Bourne shell,但程序员已经设计了数百种(如果不 哥伦比亚数据 是数千种)不同的方言。有些很有用,有些只是有趣。
谁使用外壳?
几乎所有使用计算机的人都可以从 shell 中受益,但它对于系统管理员、DevOps 人员、程序员和数据科学家尤其有利。 Shell 用于自动执行任务和应用程序、安装软件包、备份或恢复数据,当然还有编程。
外壳示例
Shell 可以是基本的,也可以是复杂的,取决于用户的需要。例如,简单的 bash 问候语是echo “hello $USER”,而复杂的 shell 脚本几乎是无限的。以下是一些基本示例:
示例 1:在 bash 中使用 while 循环 使用
合适的编辑器在 bash 中创建文件。这里我们使用vi编辑器。
$ vi example.sh
这将打开一个编辑器,其中包含名为 example.sh 的文件,
示例2: 接受用户创建的终端输入
在 vi 编辑器中创建另一个文件:
$vi example2.sh
在编辑器中输入代码:
要了解更多对数据科学有用的 shell 命令,请查看有关有用的 Shell 命令的教程。
外壳职业
shell 脚本不是一条职业道路,而是数据科学家武器库中的一个有用工具。各种类型的数据专业人员都需要了解多种语言(或者至少他们应该),而 shell 脚本可以帮助他们更有效地使用语言。
尽管如此,一些公司还是有一些职位特别需要 shell 脚本。平均工资约为 78,000 美元。也就是说,shell 脚本是系统管理员等职位的核心组成部分,这些职位的薪水可以达到六位数。
结论
Shell就像一条贯穿所有编程语言的链条。复杂的命令被简化为简洁直观的缩写。对于任何数据科学家或计算机工程师来说,理解 shell 都是一项重要技能。在 DataCamp 的Shell 简介课程中了解 Shell 。
壳牌常见问题解答
什么是内核?