macOSのSpotlightからシェルスクリプトを呼び出したい。
解決策
シェルスクリプトの拡張子を.command
にすると、Spotlightから実行できる。
ただし、システム設定
-SiriとSpotlight
でSpotlight
の検索結果
内の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
フォルダが開かれる。
参考
-
最初は
blog.command
という名前でスクリプトを作成したが、途中からSpotlightで検索されなくなった。名前が短かすぎるのかと思いopenblog.command
に変更した。いまのところ検索できている。 ↩︎