Я работаю на старой машине Debian 6. У него была старая версия Perl, и некоторые самотестирования вызывали сбой с «Test ::More version 0.96 required». Я скачал последнюю версию Perl 5.22.1, собрал ее из исходников и разместил в /opt/perl/
.
У меня есть скрипт, использующий Perl, и его преамбула:
#!/usr/bin/env perl
Однако, когда я выполняю сценарий, он использует старый Perl вместо нового Perl. Это отчасти ожидается, потому что /usr/bin/env
не знает о Perl (или я не верю, что он знает).
Как мне сказать env
что Perl находится в /opt/perl/
, а не в /usr/bin/
? Если возможно, я бы хотел, чтобы это была конфигурация машины (то есть относится ко всем), а не конфигурация пользователя (то есть относится только ко мне).
Вот справочная страница для env(1)
. В этом нет ничего особенного, и я не верю, что речь идет о регистрации новой версии программы для переводчика. Не существует man-страниц для env(7)
(разное) или env(8)
(администрация).
ENV(1) User Commands ENV(1)
NAME
env - run a program in a modified environment
SYNOPSIS
env [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...]
DESCRIPTION
Set each NAME to VALUE in the environment and run COMMAND.
-i, --ignore-environment
start with an empty environment
-0, --null
end each output line with 0 byte rather than newline
-u, --unset=NAME
remove variable from the environment
--help display this help and exit
--version
output version information and exit
A mere - implies -i. If no COMMAND, print the resulting environment.
AUTHOR
Written by Richard Mlynarik and David MacKenzie.
...