上QQ阅读APP看书,第一时间看更新
第2章 shell程序设计
我们在本书的开始刚刚介绍了用C语言进行Linux程序设计,现在却要调转方向学习编写shell程序,这是为什么?在其他的一些操作系统中,命令行界面只是对图形化界面的一个补充。但对于Linux而言,却并非如此。作为Linux灵感来源的UNIX系统最初根本就没有图形化界面,所有的任务都是通过命令行来完成的。因此,UNIX的命令行系统得到了很大的发展,并且成为一个功能强大的系统。Linux系统沿袭了这一特点,许多强大的功能都可以从shell中轻松实现。因为shell对Linux是如此的重要,并且对自动化简单的任务非常有用,所以我们认为应该尽早介绍shell程序设计。
在本章中,我们将通过一些交互性(基于屏幕)的例子来向读者展示编写shell程序时要用到的语法、结构和命令。这些内容将成为对shell主要特性及其效果的一个很有用的概要介绍。同时,我们也顺便介绍两个在shell中经常用到的特别有用的命令行工具:grep和find。在介绍grep时,我们还将介绍正则表达式的基础知识,它在Linux的工具和程序设计语言(如Perl、Ruby和PHP)中都有应用。在本章的最后,你将学习如何编写一个真正的脚本程序,本书的后续章节里将用C语言对它进行重写和扩充。本章将介绍以下内容:
❑ 什么是shell
❑ 基本思路
❑ 微妙的语法:变量、条件判断和程序控制
❑ 命令列表
❑ 函数
❑ 命令和命令的执行
❑ here文档
❑ 调试
❑ grep命令和正则表达式
❑ find命令
因此,无论你是在系统管理工作中正面对着复杂的shell脚本,或是想实现自己最新的了不起(但其实是非常简单)的想法,或只是想加快完成一些重复性的任务,本章对你都很适用。