バッテラが如く

プログラミングしましょ!

【MacOSX】 シェルスクリプトを実行した場所をカレントディレクトリにする

はじめに

シェルスクリプトファイル(.command)を実行した際に、いちいちシェルスクリプトファイルまでのパスをcdで移動してませんでしょうか?

それだとPCを買い替えたり、違うディレクトリに移動したら、その度にシェルスクリプトを新しいパスに変えないといけなくなります。

シェルスクリプトファイルが置かれているパスを、  実行時のカレントパスとするという方法を見つけたので手順を共有したいと思います。

手順

.commandファイルを開いて以下の記述を入力します。

cd `dirname $0`

これだけでカレンとディレクトリがシェルスクリプトファイルがある場所になります。 

あとは相対パスでコピーなり、削除なりをするという流れになります。

これで毎回パスを書いて移動するという手間が省けたと思います。

注意事項

・2021/04/18 追記

フォルダ名にスペースが入っている場合は正しく動作しないことがありました。

スペースを削除することで正常に動作しますが根本解決にはなってないですよね。。