Часто я вижу, что сценарии начинаются со строки shebang, которая используется #!/usr/bin/env interpreter_nameдля любого интерпретатора, с обоснованием того, что разные системы могут иметь интерпретатор, который им нужен для запуска, установленного в разных местах. Например, если я предполагаю, pythonчто установлен так, как /usr/bin/pythonнекоторые пользователи, которые решили установить его, /opt/pythonпо какой-то причине не смогут использовать его так же легко.
Но очевидный вопрос заключается в том, есть ли какая-либо гарантия, которая envбудет установлена в /usr/bin/env(или, если уж на то пошло, в каком-то конкретном месте), или это, так сказать, «случай решения проблемы»?
В этом слегка связанном вопросе есть комментарий, в котором говорится, что это плохая идея, и желательно установить его с фактическим путем интерпретатора, и он ссылается на единственную спецификацию unix, но на самом деле не решает этот вопрос.
pythonperlт. Д., Теперь вам просто нужно выследитьenv, поэтому та же проблема, но другая цель. Похоже, чтоenvего гораздо легче найти, и, очевидно, он гораздо более универсален, поэтому он все еще чрезвычайно благоприятен. Который отлично отвечает на мой вопрос. Спасибо!