システムに/usr/bin/perl
すべてがある場合、/usr/local/bin/perl
どちらを使用する必要がありますか?
答え1
BSDパッケージングなどの一部のシステムでは、/usr/local/bin
パッケージが実行可能ファイルをインストールするディレクトリになる場合があります。この場合、より新しいですが(多分より良いかもしれません)、/usr/bin/perl
より安定しています。
perl -V
を使用して、どのバージョン番号が最新であるかを確認できます。時々(マルチユーザーシステムでは)コンテンツは/usr/local/bin
実際には最新ではないかもしれません。
一般的なトレードオフは、env
shebang / hashbang行を使用してユーザーが決定できるようにすることです(しかし、繰り返しますが、道システムによって異なる場合がありますenv
。)shebang行はスクリプトの最初の行を表し、次のいずれかに似ています。
#!/usr/bin/perl
#!/usr/bin/perl -w
#!/usr/bin/env perl
最初の2つはPerlが実行されるディレクトリを指定します。ボーナスとして、このフォームは-w
(警告をオンにする)などの転送オプションを受け入れます。最後の行では、プログラムを使用してユーザーの環境変数にリストされているディレクトリを検索してenv
最初の項目を選択します。perl
PATH
次のスクリプトを実行することもできます。
perl myscript
(たとえば)そこにリストされているディレクトリのenv
最初のエントリを選択するようにシェルに指示します。perl
PATH
明らかに
./perl myscript
もちろん上書きされますPATH
。しかし、Shebangラインを持つスクリプトは、ほとんどの人がPerlスクリプトを使用する方法です(Perlワンライナーは別の話です)。
追加資料:
- /usr/bin/env perl - クエリ、Sherbonライン参照
- /usr/binとLinuxの/usr/local/bin
- 包装(7)、FreeBSDパッケージシステム
/usr/local/bin
答え2
誰のためですか?あなただけが当てはまるなら、あなたが持っているPerlの両方のバージョンが最新バージョンであれば問題はありません。業務環境のためか?その場合は、展開ポリシーを確認してください。答えがあるかもしれません。一般に配布する場合は、パッケージの種類に応じて多様に使用することをお勧めします。具体的には、debs(debian ガイドによる)と rpms(Red Hat は明示的に rpms のインストールを許可しないため)には /usr/bin/perl を使用することをお勧めします。 /usr/local)、しかし/usr/bin/env perlは、任意のUNIXシステムで動作する可能性が最も高いため、tarおよびsharパッケージ用です。