Jeden problem z użyciem:
ABSOLUTE_PATH=$(cd ${possibleDirectory}; pwd)
jest to, że jeśli $ {possibleDirectory} nie istnieje, absolute_path zostanie ustawiony w bieżącym katalogu. Który prawdopodobnie NIE jest tym, czego potrzebujesz lub czego oczekujesz.
myślę korzystania z tej wersji może być bardziej pożądane ogólnie:
ABSOLUTE_PATH=$(cd ${possibleDirectory} && pwd)
Jeśli $ {possibleDirectory} nie istnieje lub jest niedostępny z powodu brakujących uprawnień dostępu do katalogu, absolute_path będzie zawierał pusty strunowy.
Zaletą tego jest to, że można przetestować pusty ciąg lub pozwolić mu naturalnie, w zależności od okoliczności. Ustawienie domyślne na bieżący katalog w przypadku nieudanego polecenia "cd" może prowadzić do bardzo nieoczekiwanych i prawdopodobnie katastrofalnych wyników (np. Rm -rf "$ ABSOLUTE_PATH")
@Tony : Re. twój mod: '' .. ''nie jest elipsą. To tylko dwie kropki ... Jedna kropka oznacza bieżący katalog, a dwie kropki oznaczają rodzica. Elipsa wskazuje nieokreślony zakres. '' .. ''jest bardzo specyficzne. [Ellipsis (operator programujący)] (http://en.wikipedia.org/wiki/Ellipsis_%28programming_operator%29) –
@fred - Dzięki, nie jestem pewien, co tam myślałem. Mogę tylko powiedzieć, że jest późno, za późno na edytowanie pytań SO. Pospiesz się do łóżka. – Tony
To prawdopodobnie należy do witryny wymiany stosu Uniksa ... – jth41