shell 文件 开头的格式

http://hi.baidu.com/tim1234/item/0881770d6336ae173a53ee3a

1 #!/bin/sh
2 #!/bin/bash
3 #!/usr/bin/perl
4 #!/usr/bin/tcl
5 #!/bin/sed -f
6 #!/usr/awk -f

要注意,在每个脚本的开头都使用"#!",这意味着告诉你的系统这个文件的执行需要指定一个解释器.#!实际上是一个2 字节的魔法数字,这是指定一个文件类型的特殊标记, 换句话说, 在这种情况下,指的就是一个可执行的脚本(键入man magic 来获得关于这个迷人话题的更多详细信息).在#!之后接着是一个路径名.这个路径名指定了一个解释脚本中命令的程序,这个程序可以是 shell,程序语言或者是任意一个通用程序.这个指定的程序从头开始解释并且执行脚本中的命令(从#!行下边的一行开始),忽略注释

上边每一个脚本头的行都指定了一个不同的命令解释器,如果是/bin/sh,那么就是默认shell(在Linux 系统中默认是Bash).[使用#!/bin/sh,在大多数商业发行的UNIX 上,默认是Bourne shell,这将让你的脚本可以正常的运行在非Linux 机器上,虽然这将会牺牲Bash 一些独特的特征.脚本将与POSIX的sh 标准相一致.注意: #! 后边给出的路径名必须是正确的,否则将会出现一个错误消息,通常是"Command not found",这将是你运行这个脚本时所得到的唯一结果.

 

当然"#!"也可以被忽略,不过这样你的脚本文件就只能是一些命令的集合,不能够使用shell 内建的指令了,如果不能使用变量的话,当然这也就失去了脚本编程的意义了.

 

那些具有UNIX 味道的脚本(基于4.2BSD)需要一个4 字节的魔法数字,在#!后边需要一个空格#! /bin/sh.

 

注意:创建shell脚本文件后直接执行可能会遇到权限的问题,可以chmod 777 filename.sh,之后就可以运行了。

你可能感兴趣的:(Linux)