April 16, 2012

スクリプトの存在するディレクトリを調べる

シェルスクリプトを書いていると、
「そのスクリプトが置かれているディレクトリをしりたい」
なんてことがままある。

そんな場合は、
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
とする。
非常に稀なケースとして、スクリプトが存在するディレクトリが消失している場合は、DIRが空になる。
DIRが空かどうかはチェックすべき。

これは.で読み込んだ場合でも正確に動作する。

shではエラーが出る。bashで実行すること。

出典:
http://stackoverflow.com/questions/59895/can-a-bash-script-tell-what-directory-its-stored-in

No comments:

Post a Comment