シェルスクリプトの実行ディレクトリを得る方法

シェルスクリプトの実行ディレクトリを得る方法

bash スクリプトあるいは zsh スクリプトを実行する場合、スクリプトが置かれているディレクトリを取得する場面は非常に多いです。ここではシェルスクリプトのディレクトリを得る方法を記載します。

SCRIPT_DIR_PATH=$(dirname $(readlink -f $0))
cd ${SCRIPT_DIR_PATH}

この例では1行名で SCRIPT_DIR_PATH という変数にスクリプトのディレクトリ名を保存し、cd コマンドでスクリプトが置かれているディレクトリに移動します。

この方法であれば、コマンドラインからシェルスクリプトを実行した場合も cron 経由で実行された場合のどちらでも、スクリプトのディレクトリ名を得ることが出来ます。