いま一度見直すLionの「Terminal」の設定

海上忍
2011-11-18 12:54:00
  • このエントリーをはてなブックマークに追加

 シェルスクリプトとは長い付き合いだ。初めて触れたUNIXワークステーションは、SGI IRISだったかSun SPARCstationだったか失念してしまったが、本格的に(時間をかけて)取り組んだのはNEXTSTEPだったことは確か。Bourneシェルを対象に、いまと変わらぬ「Terminal」で、viを使いセッセと書いたものだ。

 昔話はさておき、20年近く前と現在とでは、コンピュータを取り巻く環境が違うことは明らか。熱い視線を集めるのはUNIXワークステーションではなく、ノート機やスマートフォン。当然ながらユーザーインターフェースはGUIだ。シェルスクリプトにしても、ターミナルエミュレータから実行するより「ダブルクリックで実行」が好まれる。それだけコンピューティングの裾野が広がった、と解釈しよう。

 そのシェルスクリプトだが、OS Xの場合、拡張子を「.command」に変更すればTerminalに関連付けられる。「chmod+x ~」などとしてファイルに実行許可を与える必要はあるが、ダブルクリックするだけでシェルスクリプトを実行できることは、特にTerminalへの抵抗感を隠さない層にとっては大きなメリットだ。

 Terminal側の設定変更は必要ないが、より違和感なくAqua/Finderとシェルスクリプトを共存させるためには、いくつか見直すべき項目がある。Terminalに慣れたユーザーほど見落としがち(実は筆者も……)なので、これを機にチェックしてはいかがだろう。

相対パスを使う場合のおまじない

 シェルスクリプトがダブルクリックで起動されると、ホームディレクトリ(~/)をカレントディレクトリとして内容が処理される。スクリプト内で相対パスを用いる場合、これではなにかと支障が出るため、シェルスクリプトの書き始めは以下のとおりにするといい。

#! /bin/sh
cd `dirname $0`

~ ここからコード ~

シェルの終了時の動作

 環境設定パネルの「設定」タブで、シェルの終了時に「ウインドウを閉じる」を指定しておくこと。そうすれば、シェルスクリプトをダブルクリックすると現れるTerminalウインドウが、処理後に自動クローズされる。Terminalが起動されるのは仕方ないとして、これだけでもだいぶスッキリするはずだ。


「ウインドウを閉じる」に設定しておけば、スクリプトの処理が完了するとウインドウが自動的にクローズされるようになる
  • 新着記事
  • 特集
  • ブログ