dirname je standardní unixový příkaz. Když dirname je dána cesta, odstraní všechny suffixy začínající posledním lomítkem ('/') a vrátí výsledek. dirname je popsáno v Single UNIX Specification a je primárně používán v shellových skriptech.
Použití The Single UNIX Specification pro dirname je: dirname řetězec
řetězec cesta
Příklady dirname bude načítat názvy cest ke složkám a bude ignorovat jakékoliv koncové lomítka $ dirname /home/martin/docs/base.wiki /home/martin/docs
$ dirname /home/martin/docs/ /home/martin
$ dirname base.wiki .
$ dirname / /
Výkon Protože dirname přijímá pouze jeden operand, jeho použití ve vnitřní smyčce shell skriptu mohou být zhoršovat pro výkon. Zvažte while read file; do dirname "$file" done < some-input Výše uvedený část kódu by mohl způsobit samostatné vyvolání procesu pro každý řádek vstupu. Z tohoto důvodu se obvykle namísto toho používá shell substituce echo "${file%/*}"; nebo pokud musí být také řešeny relativní cesty if [ -n "${file##*/*}" ]; then echo "." else echo "${file%/*}"; fi Všimněte si, že tento kód manipuluje s koncovými lomítky jinak, než dirname.
Související články
Seznam Unixových utilit Path basename
Reference
Externí odkazy dirname dirname(1) dirname(1)
Kategorie:Svobodný software Kategorie:Standardní unixové příkazy