分类:
2008-04-27 04:02:43
在每个脚本的开头都使用 sha-bang ( #!), 这意味着告诉你的系统这个文件的执行需要指定一个解释器. #! 实际上是一个2字节的魔法数字, 这是指定一个文件类型的特殊标记,换句话说, 在这种情况下,指的就是一个可执行的脚本(键入man magic来获得关于这个迷人话题的更多详细信息). 在sha-bang之后接着是一个路径名. 这个路径名就是解释脚本中命令的解释程序所在的路径, 可能是一个shell, 也可能是一个程序语言, 也可能是一个工具包中的命令程序. 这个解释程序从头开始解释并且执行脚本中的命令(从sha-bang行下边的一行开始), 忽略注释.
1 #!/bin/sh
2 #!/bin/bash
3 #!/usr/bin/perl
4 #!/usr/bin/tcl
5 #!/bin/sed -f
6 #!/usr/awk -f
注意"sha-bang"后边给出的路径名必须是正确的, 否则将会出现一个错误消息 -- 通常是"Command not found" -- 这将是你运行这个脚本时所得到的唯一结果.
1 #!/bin/rm
2 # 自删除脚本.
3
4 # 当你运行这个脚本时, 基本上什么都不会发生. . . 当然这个文件消失不见了.
5
6 WHATEVER=65
7
8 echo "This line will never print (betcha!)."
9
10 exit $WHATEVER # 不要紧, 脚本是不会在这退出的.
当然,你还可以试试在一个README文件的开头加上一个#!/bin/more, 并让它具有执行权限. 结果将是文档自动列出自己的内容.