Linux程序设计(第4版)
上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脚本,或是想实现自己最新的了不起(但其实是非常简单)的想法,或只是想加快完成一些重复性的任务,本章对你都很适用。