Portál AbcLinuxu, 1. května 2025 11:31

Jak zjistím úplnou cestu (FQN - Fully Qualified Name) adresáře/souboru ?

Q: Nic proti níže uvedené metodě, ale co je špatného v tomto kontextu na jednoduchém readlink -f?

Definuje si v ~/.bashrc funci fqn():
fqn() {
    if [[ ! "$1" =~ '^/' ]]; then
	FILE="${PWD}/$1"
    else
	FILE="$1"
    fi

    while echo $FILE | grep -q '/\.\.'; do
	FILE=$(echo $FILE | sed -r 's/\/[^/]+\/\.\.//')
    done

    FILE=$(echo $FILE | sed -r 's/\.\///g;s/\/\.?$//g')

    if [[ -e "$FILE" ]]; then
	echo $FILE
	return 0
    fi

    return 1
}
Před prvním použitím:

$ source ~/.bashrc

Příklad použití:
$ fqn docs/file
/home/lojza/docs/file

Dokument vytvořil: mutable, 12.2.2008 03:40 | Poslední úprava: Tom.š Ze.le.in, 14.2.2008 09:59 | Další přispěvatelé: mutable | Historie změn | Zobrazeno: 1202×

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.