Jméno - Dirname
![]() Příklad dirname příkaz | |
Vývojáři | Rozličný open-source a komerční vývojáři |
---|---|
Operační systém | Unix, Unixový, IBM i |
Typ | Příkaz |
Licence | coreutils: GPLv3 + |
dirname
je standard počítačový program na Unix a Unixový operační systémy. Když dirname
dostává a cesta, odstraní jakoukoli příponu začínající posledním lomítkem ('/'
) znak a vrátí výsledek. dirname
je popsán v Single UNIX Specification a je primárně používán v shell skripty.
Dějiny
Verze dirname
svázaný GNU coreutils napsal David MacKenzie a Jim Meyering.[1]
The dirname příkaz byl také přenesen do IBM i operační systém.[2]
Používání
The Single UNIX Specification pro dirname
je:
řetězec dirname
- tětiva
- A cesta
Příklady
dirname načte název adresářové cesty z cesty ignorující všechna koncová lomítka
$ dirname /home/martin/docs/base.wiki/ home / martin / docs$ dirname / home / martin / docs /./ home / martin / docs$ dirname / home / martin / docs // home / martin$ dirname base.wiki.$ jméno //
Výkon
Od té doby dirname
přijímá pouze jeden operand, jeho použití v rámci vnitřní smyčka shell skriptů může být na újmu výkonu. Zvážit
zatímco číst soubor; dělat dirname "$ soubor" Hotovo
Výše uvedený výňatek by způsobil samostatné vyvolání procesu pro každý řádek vstupu. Z tohoto důvodu se místo toho obvykle používá substituce prostředí
echo "${soubor%/*}";
nebo pokud je třeba zpracovat i relativní názvy cest
-li [ -n "${soubor##*/*}" ]; pak echo "." jiný echo "${soubor%/*}"; fi
Všimněte si, že tyto zpracovávají koncová lomítka jinak než dirname.
Mylné představy
Mohli bychom si myslet, že cesty, které končí koncovým lomítkem, jsou adresář. Ve skutečnosti však lomítko představuje všechny soubory v adresáři.
/ home / martin / docs /.
Správný způsob, jak reprezentovat cestu jako adresář, je koncové lomítko a tečka.[podle koho? ][Citace je zapotřebí ]
Viz také
Reference
- ^ https://linux.die.net/man/1/dirname
- ^ IBM. „IBM System i verze 7.2 Programování Qshell“ (PDF). Citováno 2020-09-05.
externí odkazy
- Specifikace Single UNIX, Vydání 7 od Otevřená skupina : vrací adresářovou část cesty - Příkazy a reference k nástrojům,
- Linux Příkazy uživatele Manuál –
- OpenBSD Obecné příkazy Manuál –