为什么shell脚本开头都有 #!bin/bash
解释:
#通常用作注释,但是#!放在一起就标志着这是一个shell script,其后的路径指出了用来解释这个script的程序,即使用哪种sh解释器来解释该脚本。
这里的#不代表注释,而是告诉操作系统用来解释脚本的程序位置,即告诉系统,用那个程序来解析其下的所有行的代码。
如#!/bin/sh
表示本脚本由/bin/路径的sh程序来解释
1) 如果外壳脚本的第一个非空白字符不是“ #”,则它会使用Bourne 外壳。
2) 如果外壳脚本的第一个非空白字符是“ #”,但不以“# !”开头时,则它会使用C 外壳。
3) 如果外壳脚本以“# !”开头,则“ # !”后面所跟的字符串就是所使用的外壳的绝对路径
名。Bourne 外壳的路径名称为/bin/sh ,而C 外壳则为/bin/csh。
Linux中的shell有多种类型,其中最常用的几种是Bourne shell(sh)、C shell(csh)和Korn shell(ksh)。
因此,#!/也可以跟其他shell程序:
如:#!/bin/sh
#!/bin/ksh
#!/usr/bin/php