共计 1571 个字符,预计需要花费 4 分钟才能阅读完成。
导读 | Shell 是 c 语言编写的程序,它在用户和操作系统之间架起了一座桥梁,用户可以通过这个桥梁访问操作系统内核服务。它既是一种命令语言,同时也是一种程序设计语言,你可以通过它来编写程序。 |
Bourne shell (sh) 由 AT&T 贝尔实验室的 Steve Bourne 编写,是最初的 UNIX shell。由于其紧凑性和速度,它是 shell 编程的首选 shell。Bourne shell 的缺点是它缺乏交互式使用的功能,例如调用以前的命令 (历史) 的能力。Bourne shell 也缺乏内置的算术和逻辑表达式处理。
由加州大学伯克利分校的 Bill Joy 编写的 UNIX 增强 Shell,用于交互式使用的集成功能,例如别名和命令历史记录,内置算术和类似 C 的表达式语法。
与 Bourne shell 兼容的 shell,结合了来自 Korn 和 C shell 的常用功能,具有命令调用和编辑自动映射的箭头按键。
David Korn 在贝尔实验室编写出来,它是 Bourne shell 的超集,它比 c shell 更快,兼容 Bourne shell,它包含了算术函数,字符串运算等功能。
linux 和 macos 都自带了 shell,你可以不需要安装任何软件就可以使用它们,对于 windows 用户,现在有 wsl,cgwin,mingw 等很多环境可以供你学习,当然,你也可以使用 docker 来安装一个精简 linux,它同样包含 shell,你也可以使用它来学习。
还是那句话,学习编程的最佳方式就是不停地敲代码,你只有不停地练习,才能够让自己的技术变得更加精湛。学习 shell 也一样,你也需要不停地编写脚本来练习,只有通过无数次练习,你才能说掌握它,否则你在你的简历上只能写上了解额不是精通。
实践是检验真理的唯一标准,我们学习任何编程语言,学习任何技能知识,都是需要以实践为前提。
我们需要通过实践编写那些常用的脚本,比如数据库备份,资源报警,环境搭建等。通过这些实践例子,我们才能够更深刻地了解 shell,才能在日常工作中将 shell 融会贯通。
shell 能做的可不仅仅是文中列举的这些工作,它能做得还很多,你需要自己不断地去发现,去认知它。