当我们在Linux环境中,执行python文件时,通常都需要在脚本的第一行中指定该程序通过什么可执行程序去运行。
先来说下#!/usr/bin/env python 与#!/usr/bin/python的区别:
#!/usr/bin/python:是告诉操作系统执行这个脚本的时候,调用/usr/bin下的python解释器;
#!/usr/bin/env python: 这种用法是防止操作系统用户没有将python装在默认的/usr/bin路径下。
当在执行程序时,系统看到这一行的时候,首先会到env设置里查找python的安装路径,再调用对应路径下的解释器程序完成操作。
注意:
#!/usr/bin/python相当于写死了python路径;
#!/usr/bin/env python会去环境设置寻找python目录,推荐该方法
#!/usr/bin/env 脚本解释程序的作用:
#!/usr/bin/env
在Linux的一些bash脚本中,需在开头一行指定脚本的解释程序,如:
#!/usr/bin/env python // python
#!/usr/bin/env perl // perl
#!/usr/bin/env ruby // ruby
env在这里的作用:
脚本用env启动的原因,是因为脚本解释器在linux