Unix风格的可执行脚本:#! —— Unix env 查找技巧

未匹配的标注

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

...script goes here...

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

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

本文章首发在 LearnKu.com 网站上。

上一篇 下一篇
讨论数量: 0
发起讨论 只看当前版本


暂无话题~