Bazı bash betiği olan birkaç dizinden ve muhtemelen her makinede farklı bir dizinde bulunan birkaç makineye dağıtılacak destek dosyalarından oluşan bir yardımcı programım var. Komut dosyalarının kendilerine göre yollara referans verebilmeleri gerekir, bu nedenle yürütülmekte olan dosyanın yolunu bulabilmeliyim.
dirname $0Senaryomu doğrudan çağırdığınızda mükemmel çalışan deyimin farkındayım . Ne yazık ki, tamamen farklı bir dizinden bu komut dosyalarına sembolik bağlantılar oluşturabilmek ve göreceli yamalama mantığı çalışmasına sahip olmak arzusu var.
Genel kurutma yapısı örneği aşağıdaki gibidir:
/
|-usr/local/lib
| |-foo
| | |-bin
| | | |-script.sh
| | |-res
| | | |-resource_file.txt
|-home/mike/bin
| |-link_to_script (symlink to /usr/local/lib/foo/bin/script.sh)
Nasıl güvenilir bir referans verebilir /usr/local/lib/foo/res/resource_file.txtdan script.sho tarafından çağrıldığında /usr/local/lib/foo/bin/script.shya ~mike/bin/link_to_script?