はじめに
コード書いてれば絶対目にするコレ
#!/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についてはいろいろあるようで
こーいった先人の方の記事をご参考に判断してみてください。
メリットもデメリットもあるということなので上記を理解して自分なりに取捨選択ですかね!