作曲・浄書・指導・音響

金沢音楽制作

金沢音楽制作では、楽曲・楽譜の制作と、作曲や写譜などレッスンを行っています。


[前]〈記事一覧〉[次]

27)bashとshebang

Macでシェルスクリプトの勉強を始めました。テキストは2017年に出版された、三宅英明『新しいシェルプログラミングの教科書』という新しいものを選びました。このテキストはbashというシェルの中で最も基本的なものにフォーカスを当てたものです。

というわけで勉強を始めましたが、「連想配列」でいきなり詰まってしまいました。連想配列はbashのバージョン4で新しく追加された機能です。僕のMacのbashのバージョンが3だったので、4にバージョンアップしましたが、どうも思った様に動いてくれません。その原因はMacの構造(?)にありました(違うかも)。

シェルスクリプトを記述する場合、一行目に「shebang(シバン)」と呼ばれるものを記述します。これは、起動したいインタプリタのパスを指定するもので、bashであれば、bashが格納されたパス(#!/bin/bash)を記述します。これが罠でした。

というのも、bash 4.xにバージョンアップしたbashは、既存のbash(/bin/bash)とは異なった、別のディレクトリ(/usr/local/bin/bash)に格納されていました。つまり、shebangも「#!/usr/local/bin/bash」と記述しなければbash 4.xにパスが通らず、その機能が使えなかったという訳です(小一時間分かりませんでした)。

シェルスクリプトの勉強はMacよりも、おとなしくLinuxでやった方が良さそうですね。

2018/04/03


[前]〈記事一覧〉[次]