用来指定脚本用什么解释器来执行
拿python脚本来举例
同一个脚本test.py
print "hello python"
如果在第一行加了#!/usr/bin/python,那么在执行脚本时可以直接./test.py
如果没加#!/usr/bin/python,直接执行./test.py,会报错
[root@demo200 sqlw]# ./test.py
./test.py: line 1: print: command not found
加了#!/usr/bin/python,直接执行./test.py,效果如下
[root@demo200 sqlw]# ./test.py
hello python
如果python不是装在默认的/usr/bin路径里,可以用#!/usr/bin/env python这种写法
#!/usr/bin/env python 这种用法是为了防止操作系统用户没有将 python 装在默认的 /usr/bin 路径里。当系统看到这一行的时候,首先会到 env 设置里查找 python 的安装路径,再调用对应路径下的解释器程序完成操作。
如果没写#!/usr/bin/python,可以使用如下方法调用脚本
[root@demo200 sqlw]# python test.py
hello python
如果使用上面的方法调用的脚本里面有#!/usr/bin/python,会被忽略掉,等同于注释的效果