我经常会看到脚本以shebang行开头,该行#!/usr/bin/env interpreter_name
用于任何解释器,其基本原理是不同的系统可能具有它们需要的解释器才能在不同位置运行。例如,如果我假设python
已安装,/usr/bin/python
则由于/opt/python
某种原因决定安装它的某些用户将无法轻松使用它。
但是显而易见的问题是,是否env
可以在/usr/bin/env
(或就此而论的任何特定地点)安装任何保证,或者可以说这仅仅是“解决问题”的一种情况?
这个与问题稍微相关的问题有一条评论,说这是一个坏主意,最好将其与解释器的实际路径一起安装并引用单个unix规范,但并不能真正解决该问题。
python
perl
现在您只需要查找env
问题,同样的问题,但是目标却不同。似乎env
更容易找到,而且用途也明显更多,因此它仍然非常有利。哪一个完美地回答了我的问题。谢谢!