学习shell脚本的实际任务


12

我正在寻找unix系统管理中的一些常见问题以及shell脚本可以解决这些问题的方法。完全出于自学目的。我也想知道您将如何学习shell脚本。

Answers:


15

每当您发现自己多次执行某项操作时,请编写脚本。尽可能地懒惰。内置计算机可以处理所有这些琐碎的事情。任何闻起来像忙碌的事情都需要一个shell脚本。

就个人而言,我是通过在Slackware中翻滚学习了两年。看看当您尽可能地剥离系统时会发生什么。学习适应文本。当其他人都对NetworkManager敬而远之时,请学习制作自己的NetworkManager多么简单。当然,它可能没有那么多用例,但是您可以启动并运行一些东西,通过以太网和无线按需动态连接非常简单。


6

我想重新推荐我在另一个线程中建议的三本书,在我看来,这三本书是融入Unix精神的最佳书籍:

  • Kernighan和Pike的Unix编程环境
  • 不耐烦的Unix
  • O'Reilly的Unix电动工具。

第一个是旧的,很旧,但是简洁明了,简短阅读,将为您提供所需的Shell Chop(正则表达式,sed,管道)。

第二个令人难以置信。

第三个是90年代Unix大师收集的“最好的”技巧(也就是我读到的时候)。这本书不断地被重新编辑,因此我确信它包含许多新的掘金。


Unix编程环境为+1。看完这篇文章后,突然间,Unix对我来说变得更加可怕。一点启示:-)
dr-jan 2010年

Unix编程环境是几本完全涵盖“此处文档”的书籍之一。您可以使用很多人认为不可能在单个文件中完成的“这里文档”来做很多事情。
Bruce Ediger 2010年


2

如何学习:爱上命令行。定期使用它并经常拉动手册页。通常,甚至。刚开始学习脚本时,我无法计算输入的次数man bash。我也无法计算我为另一条命令拉动手册页的次数。


1
+1凯文。我以相同的方式学习脚本。通常情况是,我需要处理这些COBOL数据文件(是的,那很早……但这是UNIX上的COBOL,而不是大型机上的!!)。我不用启动COBOL代码,而是启动awk(因为它没有安装在我们的服务器上,所以甚至没有perl),并执行了前50名客户的报告:-)

我使用xterm(或任何终端,如果有关系的话)作为我的主要文件管理器。因此,我有点强迫自己一直使用shell,这使我不断学习和发展一些技巧。
DenilsonSáMaia

2

我通过编写监视工具来学习它。它会通过ssh连接到一堆机器,并收集正常运行时间,负载,活动连接数,内存利用率等数据。在我的本地计算机上,它将以文本表的形式显示该数据。


1

我赞同Miguel对“ Unix编程环境”的建议。它真的很老,但是它是我几乎学到的关于外壳的所有知识,因为它是如此的老,您可以在亚马逊上花几美元买到它:http : //is.gd/eiSn6


0

找到一本书或一本手册,然后将您选择的shell像编程语言一样对待。(嗯,也许不是csh ...)

对于初学者,请学习如何确定您是在Bash shell,Bourne shell,csh,zsh还是任何其他版本中。其中一些彼此之间很相似,例如C和C ++-看起来有所不同-因此,知道与之抗争的人将帮助您找到对特定情况有实际帮助的示例和手册。

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.