• ベストアンサー

シェルスクリプトでの絶対パスの取得

UNIXのシェルスクリプトで、引数として渡された相対パスから絶対パスを取得するには、そうすればよいでしょうか。 cd 相対パス 変数=`pwd` これが一番普通のやり方でしょうか。 change directory しなくてもできる方法がないのかなあと思ったもので。

質問者が選んだベストアンサー

  • ベストアンサー
  • Lean
  • ベストアンサー率72% (435/603)
回答No.1

変数=`cd 相対パス ; pwd` とか。 LinuxにはないようですがOSによっては、realpath(1)コマンドというコマンドが存在し、「realpath 相対パス」で絶対パスを取得出来ます。 % realpath ../../../usr/local /usr/local

noname#15902
質問者

お礼

ご回答ありがとうございます。 realpath というのは私の環境にはありませんでした。

その他の回答 (2)

  • shinnkun
  • ベストアンサー率24% (11/45)
回答No.3

#2書いてから気づきました…ひょっとして「変数="$PWD/相対パス"」とか「変数=`pwd`"/相対パス"」が求める答えです?

noname#15902
質問者

お礼

ご回答ありがとうございます。

  • shinnkun
  • ベストアンサー率24% (11/45)
回答No.2

ksh, bashその他なら、いちいち環境変数に`pwd`を代入しなくても、"$PWD"環境変数が使えます。