我通常在我的 Python 脚本中使用以下 shebang 声明:
#!/usr/bin/python
最近,我遇到了这个shebang声明:
#!/usr/bin/env python
在脚本文档中,注意到使用这种形式“更便携”。
这个声明是什么意思?怎么在路中间有空位?它真的有助于盈利吗?
#!/usr/bin/env python
更便携,因为通常程序 /usr/bin/env
可用于“激活”所需的命令而无需完整路径。
否则,您必须指定 Python 解释器的完整路径,该路径可能会有所不同。
因此,无论 Python 解释器是在 /usr/bin/python
还是在 /usr/local/bin/python
还是在您的主目录中,使用 #!/usr/bin/env python
都可以工作。
PATH
变量,方法是查看其中的每个目录以获取给定名称的二进制文件(在本例中为 python)。如果它找到它,它就会执行程序。这将程序的查找与执行分离,并且由于env
在许多系统上位于/usr/bin
的标准位置中可用,因此它更具可移植性。更好的标准化带来更好的可移植性。#!/usr/bin/env python3
。