シバン?シェバン?シエバン?

2019-03-18

unix, linux, shebang

#!/bin/sh ←コレ

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

だそうです。bangってなんだよ。

いわゆる「おまじない」ですが、今後「シェバン」と呼ぶことにします

wikipedia

シェルを書く時

1
2
#!/bin/sh
echo 'Hello world!'

rubyインタプリタ

1
2
#!/usr/bin/env ruby
puts 'Hello world!'

正直、上記のシェバンで困ったことはないのだけども、思考停止で使うと想定外の動作をする可能性があるらしいです。問題となりにくいrubyのシェバンは以下

1
2
3
4
5
#!/bin/sh
# -*- ruby -*-
exec ruby -x "$0" "$@"
#!ruby
puts 'Hello world!'

各行の意味はよくわかりません
「おまじない」ですね

コメント

投稿する

投稿したコメントはご自身で削除できません

不適切なコメントと判断した場合は管理側で削除することがあります