シバン 【shebang】 シェバン

概要

シバン(shebang)とは、LinuxなどのUNIX系OSで実行されるスクリプトファイルにおいて、先頭行でスクリプトを実行する処理系(インタプリタ)を指定する仕組み。「#!」に続けて処理系の実行ファイルのパスを指定する。

「#!」に続けてスクリプトを実行するシェルシェルスクリプトの場合)や言語インタプリタなどのコンピュータ内でのパスを指定すると、実行時に自動的にそのプログラムが起動され、後続のスクリプトを解釈・実行する。

一般的なシェルスクリプトシェルが実行するため「#!/bin/sh」のように指定するが、スクリプト言語で書かれたプログラムを実行したい場合はその言語の処理系を指名する。例えば、Pythonで書かれたスクリプトファイルの冒頭に「#!/usr/bin/env python」のように記述すれば、ファイル名を指定するだけで自動的にPythonのインタプリタが起動され、スクリプトが実行される。

シェル以外の実行系を指定する場合は、本来は「#!/usr/bin/python」のように実行ファイルのパスを直接指定するが、環境によって実行ファイルが置かれている場所は異なる場合があるため、envコマンドを挟んで「#!/usr/bin/env python」のようにすることで、PATH環境変数からそのコンピュータ内での実行ファイルの位置を探し出して実行してくれる。

「#!」はナンバーサイン「#」とエクスクラメーションマーク「!」を並べたものだが、「#」は俗に「ハッシュ」(hash)あるいは「シャープ」(sharp)、「!」は「バン」(bang)とも呼ばれることから、 “hash-bang” あるいは “sharp-bang” を縮めて “shebang” と呼ばれるようになった。

(2021.12.16更新)
この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。