私は変身し/foo/bar/..
たい/foo
これを実行する bash コマンドはありますか?
編集: 私の実際のケースでは、ディレクトリは存在します。
ベストアンサー1
パスからファイル名の一部を取得したい場合は、「dirname」と「basename」が役に立ちます。また、「realpath」も便利です。
dirname /foo/bar/baz
# /foo/bar
basename /foo/bar/baz
# baz
dirname $( dirname /foo/bar/baz )
# /foo
realpath ../foo
# ../foo: No such file or directory
realpath /tmp/../tmp/../tmp
# /tmp
realpath
代替案
realpath
シェルでサポートされていない場合は、
readlink -f /path/here/..
また
readlink -m /path/there/../../
同じように機能します
realpath -s /path/here/../../
正規化するためにパスが存在する必要はありません。