よくやるのが以下の記述だったのだけれど SCRIPT_DIR=$(cd $(dirname $0); pwd) これだと、このスクリプトをシンボリックリンクから呼び出したときに、 実ファイルのパスでなくリンク先のディレクトリが取得されてしまっていた。 シンボリックリンクから呼び出されたときも、実ファイルのパスを返すようにするには、 SCRIPT_DIR=$(cd $(dirname $(readlink $0 || echo $0));pwd) のようにすればよさげ。 追記)id:ngyukiさんにご指摘をいただいたので修正。 スクリプトがシンボリックリンクなディレクトリにあることを考慮して readlink -f とか cd -P とか pwd -P とかにするとなお良いのかな おお、なるほど。やってみたら確かにシンボリックリンクなディレクトリにあるとうまくいかなかった。なので修正した以