この記事はPOSIX原理主義Advent Calendarの13日目だ。 シェルスクリプトに限らず,Perl,Python,Rubyといったスクリプト系言語において,プログラム(スクリプト)の1行目に以下のような記述をする。 #!/bin/sh#!/usr/bin/env pythonこの#!の文字列をshebang(シバン)と呼ぶらしい。名前の由来はshell bang(!)などいくつかの説があるとのことだ。Shebangに続けてそのスクリプトを実行するインタープリターを絶対パスで指定することができる。このように記述すると,スクリプトファイルの実行時にshebangで指定したインタープリターによりスクリプトが実行される。 ほぼ全てのシェルスクリプトの1行目にこのような記述があり,もはや暗黙のルールと思えるこの記述だが,恥ずかしながら意味をよく理解していなかった。そこで,POSIXにおける