2011.8.25追記:
そりゃあありますよね。ターゲットのプラットフォームで標準で使えるようならば可読性も高いしこちらの方がよいと思います。
僕はこれから作るものはたぶんreadlinkに乗り換えます。masaruyokoi様ありがとうございました。
コメントで教えていただきました。
masaruyokoi on 2011年8月25日(木曜日) at 12:06 said
readlink -f や -e を使うと良いですよ。
Debian や FreeBSD では realpath というコマンドもあります。
以下はオリジナルエントリです。
シェルスクリプトで自分の絶対パスを知る方法はこんな方法しかないんだろうか?
#!/bin/sh D=`dirname $0` echo `cd $D;pwd`
Pythonだとしょっちゅう書いてるアレ。
#!/usr/bin/env/ python from os import path print(path.abspath(path.dirname(__file__)))
お、こういう書き方があるのか。
#!/bin/sh echo $(cd $(dirname $0);pwd)
readlink -f や -e を使うと良いですよ。
Debian や FreeBSD では realpath というコマンドもあります。
ありがとうございます。readlink、知りませんでした。
Ubuntuで試してみたところrealpathは最小構成では入ってないみたいですが。
This utility provides mostly the same functionality as `/bin/readlink -f’ in the coreutils package.
ということなのでreadlink -fと同じみたいですが、みんなこういうのが欲しくなるってことですね。