シェルスクリプトで親ディレクトリのパスを取得したい


echo $(cd $(dirname $0)/..;pwd)

Bashシェルスクリプトで自分の絶対パスを取得
を参考に親の場合は /.. を追加しているだけ。

ところで

$(<UNIXコマンド>)

コマンド置換 と呼ばれているもので、どちらかというと以下のバッククォートの方がよく見かける

`<UNIXコマンド>`

同じことをバッククォートでしてみるとこうなる。

echo `cd \`dirname $0\`/..;pwd`

エスケープが読みにくくなるので$()を利用するのがスマート

コマンド置換については、この辺りも参考になる: Command substitution