怎么写shell程序

1.如何编写简单的shell程序什么是shell 脚本 最简单的解释 , 一个shell 脚本就是一个包含一系列命令的文件 。
shell 读取这个文件 , 然后执行文件中的所有命令 , 就好像这些命令已经直接被输入到了命令行中一样 。Shell 有些独特 , 因为它不仅是一个功能强大的命令行接口 ,  也是一个脚本语言解释器 。
我们将会看到 , 大多数能够在命令行中完成的任务也能够用脚本来实现 , 同样地 , 大多数能用脚本实现的操作也能够在命令行中完成 。虽然我们已经介绍了许多shell 功能 , 但只是集中于那些经常直接在命令行中使用的功能 。
Shell 也提供了一些通常(但不总是)在编写程序时才使用的功能 。怎样编写一个shell 脚本为了成功地创建和运行一个shell 脚本 , 我们需要做三件事情:1. 编写一个脚本 。
Shell 脚本就是普通的文本文件 。所以我们需要一个文本编辑器来书写它们 。
最好的文本编辑器都会支持语法高亮 , 这样我们就能够看到一个脚本关键字的彩色编码视图 。语法高亮会帮助我们查看某种常见错误 。
为了编写脚本文件 , vim,gedit,kate , 和许多其它编辑器都是不错的候选者 。2. 使脚本文件可执行 。
系统会相当挑剔不允许任何旧的文本文件被看作是一个程序 , 并且有充分的理由! 所以我们需要设置脚本文件的权限来允许其可执行 。3. 把脚本放置到shell 能够找到的地方当没有指定可执行文件明确的路径名时 , shell 会自动地搜索某些目录 , 来查找此可执行文件 。
为了最大程度的方便 , 我们会把脚本放到这些目录当中 。脚本文件格式 为了保持编程传统 , 我们将创建一个“hello world”程序来说明一个极端简单的脚本 。
所以让我们启动我们的文本编辑器 , 然后输入以下脚本:#!/bin/bash# This is our first script.echo 'Hello World!' 对于脚本中的最后一行 , 我们应该是相当的熟悉 , 仅仅是一个带有一个字符串参数的echo 命令 。对于第二行也很熟悉 。
它看起来像一个注释 , 我们已经在许多我们检查和编辑过的配置文件中看到过 。关于shell 脚本中的注释 , 它们也可以出现在文本行的末尾 , 像这样:echo 'Hello World!' # This is a comment too文本行中 , # 符号之后的所有字符都会被忽略 。
类似于许多命令 , 这也在命令行中起作用:[[email protected] ~]$ echo 'Hello World!' # This is a comment tooHello World! 虽然很少在命令行中使用注释 , 但它们也能起作用 。我们脚本中的第一行文本有点儿神秘 。
它看起来它应该是一条注释 , 因为它起始于一个# 符号 , 但是它看起来太有意义 , 以至于不仅仅是注释 。事实上 , 这个#! 字符序列是一种特殊的结构叫做shebang 。
这个shebang 被用来告诉操作系统将执行此脚本所用的解释器的名字 。每个shell 脚本都应该把这一文本行作为它的第一行 。
让我们把此脚本文件保存为hello_world 。可执行权限下一步我们要做的事情是让我们的脚本可执行 。
使用chmod 命令 , 这很容易做到:[[email protected] ~]$ ls -l hello_world-rw-r--r-- 1 me me 63 2009-03-07 10:10 hello_world[[email protected] ~]$ chmod 755 hello_world[[email protected] ~]$ ls -l hello_world-rwxr-xr-x 1 me me 63 2009-03-07 10:10 hello_world对于脚本文件 , 有两个常见的权限设置;权限为755 的脚本 , 则每个人都能执行 , 和权限为700 的脚本 , 只有文件所有者能够执行 。注意为了能够执行脚本 , 脚本必须是可读的 。