readlink/realpath が利用できない場合 POSIX シェルで相対パスを解決するにはどうすればよいですか?

readlink/realpath が利用できない場合 POSIX シェルで相対パスを解決するにはどうすればよいですか?

readlinkユーティリティが利用できない場合は、相対realpathパスを確認するためにPOSIXシェルスクリプトで何を使用できますか(最近はほとんどがGNU coreutilsで使用されていると思いますか?)

一つあるrealpathしかし、Cは機能します。それではおそらく別のものかもしれません。便利密かに使用しますか?

ベストアンサー1

一つあるrealpathしかし、Cは機能します。それではおそらく別のものかもしれません。便利密かに使用しますか?

realpath私の頭では、これらのユーティリティのどれも仕様でこの機能を参照しているかどうかわかりません。

私が知っているすべてはテストディレクトリエントリの場合パス名は既存のディレクトリエントリで解決されます。1+x。

Peepでの実装ダッシュ(git.kernel.org)、それを使用lstat64/stat64

これはディレクトリに十分です(テスト-Dパス名)到着CDその中に入り、解決されたパス名を返します。パスワード

~のためCDCDパス設定されていないか空白でなければならず、²オペランドはハイフンマイナス記号ではありません。「-」

([ -d "$1" ] && [ '-' != "$1" ] && CDPATH= cd -P -- "$1" && pwd -P)

例:ディレクトリの絶対パス、フルパス、実際のパス名を返します。ディレクトリで解決されていない場合はnullを返します。

パス名からハイフンマイナス記号( "-")を除外するのに問題がある場合、代替策はオペランドを "./-"に設定することです。

1参照テスト²参照CDステップ5の手順、参照。cd "-"オペランド


読んでみるとすでに知っています。ディレクトリ名そして基本名、そしておそらくどのようにシンボリックリンクが壊れているか存在しないことを確認してください。 Unix & Linuxそうでない場合は、その回答の文脈を確認して興味があるかどうかを確認してください。」テスト区別などの使い方テスト -d パス名1. 終了ステータス

おすすめ記事