学习Linux Shell脚本的最佳书?[关闭]


14

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

我可以绕开系统,启动/停止服务,编译/安装东西。这些可能是程序员的基本练习。但是,例如,如果我想每个月自动将某个应用程序部署到新创建的linux计算机上,我想知道该怎么做。

因此,如果我想学习认真的Linux Shell脚本,应该读什么书?

Answers:


7

在线:ABS

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

虽然这是一个很好的文档


1
为什么不使用仅bash语法?我从未遇到没有安装/ bin / bash的系统。您只需要适当地设置shebang线#!/ bin / bash
亚伦·布朗

1
@ABrown:直到最近,使用Linux救援模式还是很常见的ash,而且很小的发行版也倾向于使用像busybox这样的精简外壳sh
dmckee ---前主持人小猫,2010年

6

学习Bash ShellClassic Shell脚本,再学习Bash Cookbook

我建议对前两本书进行收费,而不必过多地担心记住这一切。引用它们是因为您想做一些您记得阅读但又不记得该怎么做的事情。几个月后再回到他们那里,向他们学习新事物。

注意,这是从linux管理员的角度来看的,所以我倾向于bash的精致之处,而不是更纯净的sh。实际上,这只是使我感到不兼容的罕见脚本。另外,我不认为tcsh是合法的脚本语言。


2

Shell脚本不是Shell脚本。不同的系统带有不同的外壳,并且语法和语义上的差异非常明显。

其他人提到了Bash书籍,对于Korn Shell,我推荐O'Reilly的《学习Korn Shell》。如果您必须编写可移植的Shell脚本,也可以参考O'Reilly:Classic Shell Scripting

我认为:即使对于已经习惯使用某种Shell的人,编写可移植的Shell脚本也是一个噩梦。如果您来自Windows背景,那么您会熟悉基本的东西(启动/停止服务,编译/安装东西),并且您的目标是自动化。我个人会坚持使用Perl。

虽然Perl有其缺陷,但它是将不同的部分粘合在一起的地方。根据我的经验,这就是自动化的大部分内容。而且,在Unix系统上,Perl无处不在。


我知道了,我将尝试一些Perl :)
chakrit

1

我从理查德·布鲁姆(Richard Blum,ISBN:047025128X)购买了亚马逊五星级评级为“ Linux命令行和Shell脚本圣经 ”,以了解该“严重的Shell脚本”,我必须对这本书印象深刻。为您提供有关Shell脚本的深入知识,以及在此上下文中所需的其他概念,例如linux文件系统权限的工作方式以及必需的Unix工具(例如grep)。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.