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