4
dirname и basename против расширения параметров
Есть ли объективная причина предпочесть одну форму другой? Производительность, надежность, портативность? filename=/some/long/path/to/a_file parentdir_v1="${filename%/*}" parentdir_v2="$(dirname "$filename")" basename_v1="${filename##*/}" basename_v2="$(basename "$filename")" echo "$parentdir_v1" echo "$parentdir_v2" echo "$basename_v1" echo "$basename_v2" Производит: /some/long/path/to /some/long/path/to a_file a_file (v1 использует расширение параметров оболочки, v2 использует внешние двоичные файлы.)