通过把我们的工具一起放置到我们自己设计的程序中,然后 shell 就会自己来执行这些复杂的任务序列。通过编写 shell 脚本,我们让 shell 来做这些事情。最简单的解释就是,一个shell脚本就是一个包含一系列命令的文件,shell读取这个文件,然后执行文件中的所有命令,就好像这些命令直接被输入到了命令行中一样。shell不仅仅是一个功能强大的命令行接口,也是一个脚本语言解释器。也就是说,大部分能在命令行中完成的任务也能用脚本来实现,反过来亦是如此。
为了成功的创建和运行一个shell脚本,需要做三件事情。首先需要编写一个脚本,shell脚本就是一个普通的文本文件,所以需要一个文本编辑器来书写它们。最好的文本编辑器都会支持语法高亮,比如说vim、gedit、kate编辑器,这样我们就能够看到一个脚本关键字的彩色编码视图。语法高亮往往会帮助我们查看一些常见错误。
然后就是使得脚本可以执行。使用chmod命令就很容易做到,对于脚本文件,有两个常见的权限设置;权限为 755 的脚本,则每个人都能执行,和权限 为 700 的脚本,只有文件所有者能够执行。注意为了能够执行脚本,脚本必须是可读的。
最后就是把脚本放置到 shell 能够找到的地方,必须指定脚本文件明确的路径,当没有指定可执行文件明确的路径名时,shell 会自 动地搜索某些目录,来查找此可执行文件。为了最大程度的方便,我们会把脚本放到这些目录当中,那么问题就会被解决。列表中的第一个目录大多数是/home/me/bin。大多数的linux发行版会配置PATH变量,让其包含一个位于用户家目录的bin目录,并把脚本放在这个目录下,那么这个脚本就可以正常工作了。
这个 ∼/bin 目录是存放为个人所用脚本的好地方。如果我们编写了一个脚本,系统中的每 个用户都可以使用它,那么这个脚本的传统位置是/usr/local/bin。系统管理员使用的脚本经常 放到/usr/local/sbin 目录下。大多数情况下,本地支持的软件,不管是脚本还是编译过的程序, 都应该放到/usr/local 目录下,而不是在/bin 或/usr/bin 目录下。这些目录都是由 Linux 文件 系统层次结构标准指定,只包含由 Linux 发行商所提供和维护的文件。