Dirname
![Avatar](assets/img/avatar/39.jpg)
Author
Albert FloresDirname je příkaz v operačním systému UNIX, který vrací název adresáře pro zadanou cestu k souboru. Tento příkaz je součástí různých verzí UNIXu a také operačního systému POSIX. Používá se především v skriptech nebo při vytváření složek nebo souborů. Příkaz dirname bere vstupní argument ve formě cesty k souboru a vrací cestu k adresáři, ve kterém se soubor nachází. Může také odebrat poslední složku z dané cesty a vrátit novou cestu k nadřazenému adresáři. Dirname příkaz může být také použit s přepínačem "-z" pro vypsání cesty adresáře bez znaků konce řádku. Tento příkaz je užitečný pro práci s cestami v Unixovém systému a může být použit v různých situacích, například při tvorbě složek, kopírování souborů nebo zpracovávání skriptů.
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.
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 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
Reference
Externí odkazy
[url=http://www. opengroup. +moreorg/onlinepubs/9699919799/utilities/dirname. html]dirname[/url] * [url=https://linux. die. net/man/1/dirname]dirname(1)[/url] * [url=http://man. openbsd. org/. query=dirname&sec=1]dirname(1)[/url].
Kategorie:Svobodný software Kategorie:Standardní unixové příkazy