きちんとシバンをつけるとfileコマンド でスクリプトの言語情報がでる
UNIX/Linuxではスクリプトの#!から始まる1行目でインタプリタを指定でき、これをシバン*1 と呼びます.
代表的なシバン
#!/bin/sh
#!/bin/bash
#!/usr/bin/perl
#!/usr/bin/env ruby
でここからが本題なのだが、Linuxのファイル識別コマンド file
を用いるとシバンを書いてるとちゃんとどの言語のシェルスクリプトなのかを教えてくれる。
すなわち以下のような結果を返す
test.py: Python script, ASCII text executable
- #!/usr/bin/pythonと書かなかった場合
test2.py: ASCII text