tweeeetyのぶろぐ的めも

アウトプットが少なかったダメな自分をアウトプット<br>\(^o^)/

プログラムの1行目にあるアレ(shebang)についてメモ-/usr/bin?/usr/local/bin?/usr/bin/env?

はじめに

コード書いてれば絶対目にするコレ

#!/usr/bin/perl
とか
#!/usr/bin/env perl

目にするはずなのにとっさに名前が出てこない!(><)
そんなコトがたまーにある。(結構かも?)

イイ機会なのでshebangについてメモしたってことを覚えておけるようにメモw

読み方

シバンもしくはシェバン
自分はシェバンで覚えてました

wiki先生より

シバンまたはシェバン (shebang) とはUNIXスクリプトの#!から始まる1行目のこと。 起動してスクリプトを読み込むインタプリタを指定する。 hash-bangまたはshell-bang、sharp-bangとも言うが、これらを縮めたshebangという呼び方が一般的かつシンプルである

/usr/binと/usr/local/binの違い

パッケージシステム(yumやYaST2)によってアップデートされるかどうか  
システムの標準は/usr/bin、そうでないものは/usr/local/bin、とすることで、ユーザは新しいコマンドをインストールして使うことができる

参考にさせて頂いた記事のおもいっきり引用だけどそういうこと  

/usr/bin&/usr/local/binと/usr/bin/envの違い

/usr/bin/usr/local/binについては上述したとおり。では/usr/bin/envは?

#!/usr/bin/env perl

自分は/usr/bin&/usr/local/binが多いですが、こんな↑ふうにenvを使うことでperlの場所を探してくれます。 これも詳しくはコチラの記事をご参考に。

!/usr/bin/envのメリット、デメリット

自分みたいな下等エンジニアには判断しかねますがenvについてはいろいろあるようで
こーいった先人の方の記事をご参考に判断してみてください。

メリットもデメリットもあるということなので上記を理解して自分なりに取捨選択ですかね!