红联Linux门户
Linux帮助

shell 脚本从建立、调试到执行的过程

发布时间:2012-05-03 10:30:02来源:红联作者:empast
1.建立bash 脚本
在编辑器,如vi 中,编辑如下程序:
1 #!/bin/bash
2 # this script searches a file for a specified word
3 # you need to enter two arguments to this script:"the filename" and
"the word"
4 if test $ # -ne 2
5 then
6 echo " Invalid argument! "
7 else
8 filename = $1
9 word = $2
10 if grep $word $filename >/home/wuxy/temp
11 then
12 echo "The word was found ! "
13 else
14 echo "The word was not found ! "
15 fi
16 fi
17 exit 0
程序中的行号不属于脚本的内容,只是为了说明时方便。脚本第 1 行指定bash(绝对路径为/bin/bash)作为该脚本的解释器。第2、3 行是注释,说明了bash 脚本的用途及如何调用这个脚本(调用时需输入文件名及指定的单词两个参数)。第4 行用test 命令来检验用户是否传递了两个参数。如果不是两个参数,则执行第6 行的命令,输出Invalid argument!信息;如果是两个参数,则程序将继续执行。第8、9 行将第1个和第2 个参数的值通过位置变量$1、$2 分别赋给filename 和word 变量。然后,第10 行利用grep 在指定的文件中搜索单词,同时将输出重定向到/home/wuxy/temp 中。如果grep 命令找到了这个单词,那么就执行第12 行的命令,显示The word was found!的信息;否则,就执行第14 行的命令,显示The word was not found!信息。最后,执行exit 命令,退出。在 vi 中编写完该程序后,以search 为文件名,保存在/home/wuxy 目录下。

2.调试bash 脚本
调试该脚本时,还应给出两个参数,即被搜索的文件名和要查找的指定的单词。
通过命令
$/bin/bash -x /home/wuxy/search 文件名指定的单词

$/bin/bash -v /home/wuxy/search 文件名指定的单词
跟踪脚本程序的执行过程,对脚本进行调试。如有错误,则可以进一步修改,直到调试后,无错误出现,即可结束调试。使用这种命令形式,可以同时完成脚本的调试和执行。

3.执行bash 脚本
有两种执行 bash 脚本的方法。
方法一:
$chmod u+x /home/wuxy/search
$/home/wuxy/search 文件名指定的单词
首先,设置脚本的访问权限为可执行,然后执行该脚本(需传递两个参数,即文件名和指定的单词)。
如果是在当前目录/home/wuxy 下执行search 脚本,则可以使用如下命令:
$. search 文件名指定的单词
方法二:
$bash /home/wuxy/search 文件名指定的单词
直接由 bash 执行该脚本。
文章评论

共有 1 条评论

  1. ykppingfan 于 2012-05-06 12:01:46发表:

    受教