12.21.2011

Find out the absolute path from a relative path in Bourne Shell

Bシェル: 相対パスから絶対パスを得る方法

dirname コマンドで得られるディレクトリに cd し、pwd コマンドを行うことで絶対パスを得ることができる。
このときサブシェル内で実行することで、実際のシェルプロセスには影響を与えないようにする。

・例1 自分自身の居場所を特定する

ABSPATH=`(cd \`/usr/bin/dirname $0\` && pwd)`/`/usr/bin/basename $0`

・例2 自分自身の親ディレクトリを特定する

PARENTDIR=`(cd \`/usr/bin/dirname $0\`/.. && pwd)`

プロジェクトごとディレクトリを移動する場合などに便利。

参考:
http://dokonoumanohone.blog47.fc2.com/blog-entry-2.html
http://blog.hansode.org/archives/51481467.html

0 件のコメント:

コメントを投稿