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 $0
Senaryomu 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.txt
dan script.sh
o tarafından çağrıldığında /usr/local/lib/foo/bin/script.sh
ya ~mike/bin/link_to_script
?