unix风格的可执行脚本:#! —— unix env 查找技巧 | 第一部分 开始 —— 第 3 章: 你是如何运行程序的 |《学习 python:强大的面向对象编程(第 5 版)》| python 技术论坛-金年会app官方网

未匹配的标注

在一些unix系统上,可以通过编写如下的特殊的首行注释来避免在脚本文件中硬编码python解释器的路径:

...script goes here...

当这样编码时, env 程序通过系统搜索路径设置(在大多数unix shell中,通过查找在path环境变量中列出的所有目录)定位到python解释器。这个方法更可移植,因为不需要在所有脚本的首行硬编码一个python安装路径。这样,如果脚本移动到新机器,或python移到新的位置,只须更新 path,而不是所有脚本。

假设在所有地方都可以访问到 env, 那么不管python在系统上的哪个位置,脚本都可以运行。事实上,因为一些平台可能将python安装在其他地方,这个 env形式在今天通常被推荐,更胜于普通的如 /usr/bin/python。当然,这个方法假设 env在任何平台的同一个地方(在一些机器上,它可能在 /sbin, /bin 或其他地方);如果不在,那么所有便携性都会失败!

本文章首发在 金年会app官方网 网站上。

上一篇 下一篇
讨论数量: 0



暂无话题~
网站地图