Bashシェルスクリプトで自分の絶対パスを取得

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)

Bashシェルスクリプトで自分の絶対パスを取得」への2件のフィードバック

  1. ありがとうございます。readlink、知りませんでした。
    Ubuntuで試してみたところrealpathは最小構成では入ってないみたいですが。
    This utility provides mostly the same functionality as `/bin/readlink -f’ in the coreutils package.
    ということなのでreadlink -fと同じみたいですが、みんなこういうのが欲しくなるってことですね。

コメントは停止中です。