#!是指定一个文件类型的特殊标记,在这种情况下,指的就是一个可执行的脚本。#!之后接一个路径名,这个路径名制定了一个解释脚本命令的程序,这个程序可以是shell,程序语言或任何一个通用程序。
#!仅在脚本文件的首行起作用,其他行的#!仅为注释。
如果脚本文件头不标记#!则默认使用当前用户登陆的shell为脚本解释器,通常是bash。
#!/bin/bash指脚本使用bash执行,#!/bin/sh指脚本使用sh执行。两者的主要区别在于,当脚本中某行命令不能正确执行,bash将继续执行下一条,而.sh不会继续往下执行。