kanta's spike

macOSのSpotlightからシェルスクリプトを呼び出したい。

解決策

シェルスクリプトの拡張子を.commandにすると、Spotlightから実行できる。

ただし、システム設定-SiriとSpotlightSpotlight検索結果内のDeveloperをチェックする必要がある。

また、Terminal.app経由でシェルスクリプトが実行されるため、デフォルトの設定の場合、実行終了後もターミナルが[Process Completed]を表示したまま残ってします。 これを回避するためには、Terminal.appのシェル設定で、シェルの終了時シェルが正常に終了した場合は閉じるに変更する必要がある。

例: ~/blogフォルダをVsCodeで開く場合

~/bin/openblog.commandを作成し、実行権限をつける。 1

% cat ~/bin/openblog.command
code ~/blog
% chmod u+x ~/bin/openblog.command

Spotlightで、openblog.commandを入力し、選択するとVsCodeが起動し、~/blogフォルダが開かれる。

参考


  1. 最初はblog.commandという名前でスクリプトを作成したが、途中からSpotlightで検索されなくなった。名前が短かすぎるのかと思いopenblog.commandに変更した。いまのところ検索できている。 ↩︎

作成日: 2023/02/07