Ich arbeite an einer älteren Debian 6-Maschine. Es hatte eine alte Version von Perl und führte dazu, dass einige Selbsttests fehlschlugen "Test :: More Version 0.96 erforderlich" . Ich habe die neueste Version von Perl 5.22.1 heruntergeladen, sie aus Quellen erstellt und bei abgelegt /opt/perl/
.
Ich habe ein Skript, das Perl verwendet, und seine Präambel lautet:
#!/usr/bin/env perl
Wenn ich das Skript ausführe, wird jedoch das alte Perl anstelle des neuen Perl verwendet. Das wird irgendwie erwartet, weil /usr/bin/env
kennt Perl nicht (oder glaube ich nicht).
Wie erzähle ich env
das Perl ist derjenige in /opt/perl/
, und nicht /usr/bin/
? Wenn möglich, möchte ich, dass es sich um eine Maschinenkonfiguration handelt (d. H. Für alle) und nicht um eine Benutzerkonfiguration (d. H. Nur für mich).
Hier ist die Manpage für env(1)
. Es ist nicht viel dabei und ich glaube nicht, dass es darum geht, eine neue Version eines Programms für einen Interpreter zu registrieren. Es gibt keine Manpages für env(7)
(Sonstiges) oder env(8)
(Verwaltung).
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.
...