Qual dos / usr / bin / perl ou / usr / local / bin / perl deve ser usado?

1

Se eu tiver os dois /usr/bin/perl e /usr/local/bin/perl disponíveis em um sistema, qual deles devo usar?

    
por CJ7 15.02.2016 / 01:29

2 respostas

5

Depende: em alguns sistemas, por ex. Embalagem BSD, /usr/local/bin pode ser o diretório onde os pacotes instalam executáveis. Nesse caso, seria mais recente (e talvez melhor), mas /usr/bin/perl seria mais estável.

Você pode usar perl -V para ver qual possui um número de versão mais recente. Às vezes, o conteúdo de /usr/local/bin (em sistemas multiusuários) não é realmente mais recente.

O compromisso usual é deixar o usuário decidir, usando env na linha shebang / hashbang (mas novamente, o caminho para env pode variar por sistema). A linha shebang se refere à primeira linha de um script, que pode se parecer com um dos seguintes:

#!/usr/bin/perl
#!/usr/bin/perl -w
#!/usr/bin/env perl

Os dois primeiros especificam o diretório a partir do qual executar o Perl. Como bónus, este formulário permite passar uma opção, por ex. -w (usado para ativar os avisos). A última linha usa o programa env para escolher a primeira ocorrência de perl pesquisando os diretórios listados na variável de ambiente PATH do usuário.

Também é possível executar um script como este:

perl myscript

qual (como env ) diz ao shell para escolher a primeira ocorrência de perl dos diretórios listados em PATH .

Um explícito

./perl myscript

obviamente substitui o PATH . Mas os scripts com linhas shebang são a maneira como a maioria das pessoas usa os scripts Perl (os de um lado são um assunto diferente).

Leitura adicional:

por 15.02.2016 / 01:36
0

Para quem é? Se for apenas você, desde que ambas as versões do perl sejam novas o bastante, não importa. É para um ambiente de trabalho? Em caso afirmativo, verifique suas políticas de implantação, pois elas podem ter a resposta. Se for para distribuição ao público em geral, eu recomendaria variar com base no tipo de pacote, especificamente usar / usr / bin / perl para debs (pelas diretrizes debian) e rpms (como a Red Hat especificamente proíbe o rpms para instalar em / usr / local), mas / usr / bin / env perl para pacotes tar e shar, pois tem a melhor chance de trabalhar em computadores unix aleatórios.

    
por 15.02.2016 / 04:43