まくまくLinux/Shellノート
シェルスクリプトのあるディレクトリの絶対パスを取得する
2010-08-20

スクリプト自身の格納されているディレクトリの絶対パスは下記のようにして得ることができます(内部的に cd を実行していますが、実行後のカレントディレクトリが変わってしまうことはありません)。

self_dir=$(cd $(dirname $0); pwd)

ちなみに、シェルスクリプトと同じディレクトリにあるファイルの絶対パスは、上記で求めたディレクトリパスと組み合わせれば作れます。

echo $(self_dir)/sample.txt
2010-08-20