- macOSのシェルスクリプトをFinderから実行するためには、拡張子を.commandに変更する必要があります。
- ただし、実行時のカレントディレクトリはユーザディレクトリになってしまうため、cd $(dirname $0)でスクリプトのあるフォルダに移動する必要があります。
この方法を使うことで、Finderから直接シェルスクリプトを実行し、作業フォルダ内にファイルを作成することができます。
1. シェルスクリプトを実行可能にする
macOSでシェルスクリプトを実行するには、chmod +x で実行可能にします。
しかし、これだけではターミナルからは実行できても Finder からは実行できません。
ダブルクリックすると、エディタで開いてしまうのです。
これは、拡張子を .command に変更することで、Finderからも実行できるようになります。
2. 実行時の作業フォルダに注意
ただし、「カレントディレクトリ」の扱いに注意する必要があります。
Finderで表示しているフォルダではなく、ユーザディレクトリ(~)で実行されてしまうからです。
そこで、実行時のフォルダを移動しておく必要があります。
cd $(dirname $0)
$0からコマンドファイル自体のパスを参照することで、そのフォルダに移動できます。
3. 作業フォルダに新しいファイルを作成できるコマンド
たとえば、
#!/bin/bash
cd $(dirname $0)
touch new.txt
これで、作業フォルダに新しいファイルを作成できるコマンドができました。
Finderには「テキストファイルの新規作成」メニューがないので。
こちらもどうぞ。
[mac] コマンドラインからゴミ箱に入れる【~/.Trash】
mv ~/.TrashMacの「ゴミ箱」フォルダに移動するrmコマンドだと完全に削除されるmacでゴミ箱に移動する処理を自動化したい、と思いました。シェルスクリプトで削除するなら、rm(remove)を使うのですが、▶ 何を削除したか後から確認できない、▶ これは失敗したら元に戻せない、という欠点があります。「ゴミ箱」フォルダは ~/.Trash macの「ゴミ箱」フォルダの場所は、「~/.Trash」です。(~はユーザーディレクトリの場所)先頭がドットなので、隠しフォルダに...
macOSで画像ファイルを整理(重複避ける移動スクリプト)
ファイルをまとめてmvで移動すると、ファイル名の重複があったときに、うまくいきません。オプションをつけないとmvはエラーでキャンセルされるので上書きはされません。ただ、移動されず残ってしまいます。macOSのシェルスクリプトで、以下の操作をしたいと思います。 フォルダ「Download」にある「.png」「.PNG」「.svg」「.SVG」のファイルすべてをフォルダ「Pictures」に移動したい。 ただし、同名ファイルがある場合には、ファイルの末尾に(1)などの数字を追加し...
[macOS] Launchpadのハテナマーク付きのアイコンを削除する(Logicool G Hub)
macOSのLaunchpadで不要なアイコンが残っていました。まずは、アイコンの長押しで削除を試み、それでも解決しない場合は、Launchpadのデータベースをリセットします。defaults write com.apple.dock ResetLaunchPad -bool true; killall Dock環境macOS Sonoma 14.6.1Launchpadにアイコンが残っていたMacでLogicool G HUB アプリをインストールしていたのですが、不要に...
QRコードを読み込むと、関連記事を確認できます。