`#!/usr/bin/env python`与`#!/usr/bin/python`的区别

#!/usr/bin/env python#!/usr/bin/python的区别

@(Python入门)

[TOC]

意义

脚本语言的第一行,目的是,指出用户想用什么可执行的程序去运行目标文件中的代码。

区别

#!/usr/bin/python是告诉操作系统执行这个脚本的时候,调用/usr/bin下的python解释器;
#!/usr/bin/env python这种用法是为了避免操作系统用户没有将python装在默认的/usr/bin路径里而无法调用Python的错误。当系统看到这一行的时候,首先会到env设置里查找python的安装路径,再调用对应路径下的解释器程序完成操作。

env: env is a shell command for Unix and Unix-like operating systems. It is used to either print a list of environment variables or run another utility in an altered environment without having to modify the currently existing environment.
简言之,env就是环境变量的列表。Maybe env is the short for environment.

#!/usr/bin/python相当于写死了python路径;
#!/usr/bin/env python会去环境设置寻找python目录,推荐这种写法。

Reference

http://blog.csdn.net/wh_19910525/article/details/8040494

https://en.wikipedia.org/wiki/Env

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容