Bir komut dosyasında $0olası göreli yoldan geçiyorum. Mutlak hale getirmek için anlamadığım bu çözümü buldum:
abspath=$(cd ${0%/*} && echo $PWD/${0##*/})
Benim sorunum ${0%/*}ve içindeki sihir ${0##*/}. Görünüşe göre eski dirname adını alır ve ikincisi dosya adını çıkarır, nasıl olduğunu anlamıyorum.
dirnameUtil burada yararlıdır.
BASH_SOURCEdaha iyi olduğu $0gibi $0kullanıcı komutası yazdığınız, şu anda yürütülen komut dosyası olmayabilir hangi verir.
readlink -f $0, kurallı yolu elde etmek için kullanabilirsiniz .