与えられたファイルの親ディレクトリを取得します。

与えられたファイルの親ディレクトリを取得します。

filedir以外のファイルのパス名が保存されているとします。

親ディレクトリを取得する方法は?

/..値を追加すると、次のことが機能しない理由

$ cd $file/..   
cd: ./Tools/build.bat/..: No such file or directory

ありがとうございます。

ベストアンサー1

仮説

$ file=./Tools/build.bat

そしてPOSIX互換シェル(zshを含む):

$ echo "${file%/*}"
./Tools

そしてdirname:

$ echo "$(dirname -- "$file")"
./Tools

(少なくともGNUはdirnameオプションを受け入れるので、--パスがダッシュで始まる場合は必要です。)

おすすめ記事