学习 Linux Shell 脚本的最佳书籍?

学习 Linux Shell 脚本的最佳书籍?

我通常在 Windows 机器上工作,但有时我会切换到 Linux 上进行开发。而且我最近的项目将完全在某个 Linux 平台上编写(不是标准的 Apache/MySQL/PHP 设置)。所以我认为现在学习编写一些 Linux 自动化脚本是值得的。

我可以顺利地操作系统、启动/停止服务、编译/安装东西。这些对于程序员来说可能都是基本技能。但是,如果我想每月将某个应用程序自动部署到新安装的 Linux 机器上,我很想知道该怎么做。

那么如果我想学习严肃的 Linux shell 脚本,我应该读什么书?

答案1

在线的:防抱死制动系统

警告:这是一个 bash 教程,因此有仅限 bash 的语法,我建议您不要使用它们。

不过这是一份非常好的文档

答案2

学习 Bash Shell随着经典 Shell 脚本, 其次是Bash 食谱

我建议快速读完前两本书,不必太担心记住所有内容。当你想做一些你记得读过但记不住如何实际做的事情时,可以参考它们。几个月后再回头读它们,从中学习新东西。

请注意,这是从 Linux 管理员的角度出发的,因此我更倾向于 bash 的精妙之处,而不是更纯粹的 sh。只有极少数脚本我才会费心去真正使 sh 兼容。另外,我不认为 tcsh 是一种合法的脚本语言。

答案3

Shell 脚本不是 Shell 脚本,不同的系统自带不同的 Shell,语法和语义的差异也很大。

其他人提到了 Bash 书籍,对于 Korn shell,我推荐 O'Reilly 的学习 Korn Shell如果您必须编写可移植的 shell 脚本,O'Reilly 也有相关内容:经典 Shell 脚本

我认为:编写可移植的 shell 脚本简直就是一场噩梦,即使对于相当熟悉某个 shell 的人来说也是如此。如果您有 Windows 背景,熟悉基本内容(启动/停止服务、编译/安装内容),并且您的目标是自动化,那么我个人会坚持使用 Perl。

虽然 Perl 有其缺陷,但它在将不同部分粘合在一起时却大放异彩。根据我的经验,这构成了自动化的大部分内容。此外,在 Unix 系统上,Perl 无处不在。

答案4

我买了亚马逊五星评价的'Linux 命令行和 Shell 脚本圣经感谢 Richard Blum (ISBN: 047025128X) 提供的“严肃的 shell 脚本”,我必须说这本书给我留下了深刻的印象。它不仅让您深入了解 shell 脚本,还让您了解该上下文中所需的其他概念,例如 Linux 文件系统权限的工作原理以及您必须了解的 Unix 工具,例如 grep。

相关内容