目前这篇文章全文转载自http://www.a5d.com/infoview/Article_1071.asp
格式做了较大调整,句子结构也进行了改动。希望大家能够不断的补充总结,形成自己的shell编程基础/入门指南。
鉴于论坛里无法进行方便的维护/改进,因此转至:
http://wiki.ubuntu.org.cn/Shell%E7%BC%96%E7%A8%8B%E5%9F%BA%E7%A1%80
为什么要进行shell编程
Linux系统中虽然有各种各样的图形界面工具,但shell仍然是一个非常灵活的工具。Shell不仅集合了大量命令,还是一门非常棒的编程语言。借助shell,大量任务能实现自动化;shell特别擅长系统管理任务,尤其适合那些易用性、可维护性和便携性比效率更重要的任务。
下面,让我们一起来看看shell是如何工作的:
建立一个脚本
Linux中有许多种不同的shell,通常我们使用bash (bourne again shell) 进行shell编程,因为bash不仅免费(自由)且易于使用。本文提供的脚本都用bash(当然大多数情况下,这些脚本同样可以在bash的前辈, bourne shell中运行)执行。
如同其他语言一样,我们可以使用任意一种文字编辑器,比如nedit、kedit、emacs、vi等来编写shell脚本,它必须以如下行开始(必须放在文件的第一行):
代码:
#!/bin/sh
符号#!用来告诉系统执行该脚本的程序,本例使用/bin/sh。编辑完了,如果要执行该脚本,还必须使其可执行:
代码:
chmod +x filename
这样输入 ./filename 便可执行该脚本。
注释
shell脚本中以# 开始的行表示注释,直到一行的结束。我们真诚的建议你在脚本中使用注释,这样即便在相当长时间内没有使用该脚本,你也能在短时间内明白该脚本的作用和工作原理;此外还有很重要的原因——有了注释,更利于和别人分享你的脚本。
变量
在其它编程语言中,你必须使用变量。shell编程中,所有变量都由字符串组成,并且不需要声明。要给一个变量赋值,你可以这么写:
代码:
变量名=值
在变量名之前加一个$,就可以取出变量值:
代码:
#!/bin/sh
#对变量赋值:
a=”hello world”
# …