Nov
17th
Zaradené do Shell script |
Publikoval rado
Možno sa vám už stalo, že ste v linuxovom shell scripte potrebovali zistiť absolútnu cestu, kde je script umiestnený. Príkaz pwd vráti iba adresár, v ktorom sa práve pracuje a $0 zasa môže obsahovať relatívne umiestnenie, použité pri spustení scriptu.
Existuje niekoľko riešení, ktoré pomocou kontroly obsahu v $0 a aktuálneho pracovného adresára pozliepajú dokopy absolútnu cestu. To je zbytočne komplikované a môže to byť náchylné na chyby.
Absolútnu cestu práve bežiaceho shell scriptu môžeme jednoducho zistiť pomocou príkazu:
ABS_PATH=`readlink -f $0`
Prípadne adresár, v ktorom je shell script umiestnený:
ABS_DIR=`readlink -f $0 | xargs -0 dirname`









