Portál AbcLinuxu, 15. listopadu 2025 09:41
Řešení dotazu:
# export FULLPATH="/my/full/path"
# echo ${FULLPATH##*/}
path
#
Problem ti moze nastat, ak by bola cesta "/my/full/path/". Vtedy sa mozes este hrat na osetrenie so sedom (zahodit posledne lomitko).
Da sa pouzit aj basename(1), ten ale tiez v niektorych pripadoch zlyhava (nie je prenosny medzi UXami).
basename zlyhal (a ktory OS to bol)..
inak ja osobne sa priklanam k shellovskemu rieseniu ( modifikacii retazca pomocou ${}) - je to prenosne a nie je to bashizmus (i ked to autor uvadzal).
basename není bashismus, je to normální utilita/příkaz a je definována
Nevim jestli je to správně ale používam :
#!/bin/bash
path="$(dirname $(readlink -f $*))"
prg=$(echo $* | awk -F'/' '{print $NF}')
ani sem netestoval zda-li to funguje korektně nebo to nepublikuju
basename:
Založeno na pwd
basename $(pwd)nebo-li
basename $(pwd) > 'test.txt'Jestli jsem to tedy dobře pochopil…
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.