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
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
V tomto článku byl použit překlad textu z článku dirname na anglické Wikipedii.
Externí odkazy
Příkazy a programy příkazové řádky Unixu (více) |
|
Správa souborů | |
|
Správa procesů | |
|
Správa uživatelů a prostředí | |
|
Zpracování textu | |
|
Programování v shellu | |
|
Síťová komunikace | |
|
Hledání | |
|
Ostatní | |