Answers:
ash
,而且很小的发行版也倾向于使用像busybox这样的精简外壳sh
。
学习Bash Shell和Classic Shell脚本,再学习Bash Cookbook。
我建议对前两本书进行收费,而不必过多地担心记住这一切。引用它们是因为您想做一些您记得阅读但又不记得该怎么做的事情。几个月后再回到他们那里,向他们学习新事物。
注意,这是从linux管理员的角度来看的,所以我倾向于bash的精致之处,而不是更纯净的sh。实际上,这只是使我感到不兼容的罕见脚本。另外,我不认为tcsh是合法的脚本语言。
Shell脚本不是Shell脚本。不同的系统带有不同的外壳,并且语法和语义上的差异非常明显。
其他人提到了Bash书籍,对于Korn Shell,我推荐O'Reilly的《学习Korn Shell》。如果您必须编写可移植的Shell脚本,也可以参考O'Reilly:Classic Shell Scripting。
我认为:即使对于已经习惯使用某种Shell的人,编写可移植的Shell脚本也是一个噩梦。如果您来自Windows背景,那么您会熟悉基本的东西(启动/停止服务,编译/安装东西),并且您的目标是自动化。我个人会坚持使用Perl。
虽然Perl有其缺陷,但它是将不同的部分粘合在一起的地方。根据我的经验,这就是自动化的大部分内容。而且,在Unix系统上,Perl无处不在。
我从理查德·布鲁姆(Richard Blum,ISBN:047025128X)购买了亚马逊五星级评级为“ Linux命令行和Shell脚本圣经 ”,以了解该“严重的Shell脚本”,我必须对这本书印象深刻。为您提供有关Shell脚本的深入知识,以及在此上下文中所需的其他概念,例如linux文件系统权限的工作方式以及必需的Unix工具(例如grep)。