Spotkałem się BASEDIR=$(pwd)w skrypcie.
Czy są jakieś zalety lub wady w stosunku do używania BASEDIR="$PWD", które $PWDmogą być nadpisane?
$(pwd), ponieważ $PWDw niektórych okolicznościach może stać się nieaktualny.
pwdpotencjalnie da ci mniej przestarzałych informacji niż $PWDw niektórych przypadkach narożnych. $(pwd)z drugiej strony nie działa, jeśli bieżący katalog kończy się znakami nowej linii, oznacza rozwidlenie procesu (z wyjątkiem ksh93) i użycie dodatkowych zasobów. Mój pogląd jest stosowanie $PWDod $(pwd -P), to nie warto korzystać $(pwd).
cd -P -- "$dir". jeśli masz jakiekolwiek wątpliwości co do wartości $PWD, zawsze możesz cd -P .najpierw. może to być również korzystne, ponieważ dostajesz to, co $PWDbyło wcześniej, $OLDPWDi możesz je później porównać - a następna cd ...; cd -sekwencja z pewnością zaprowadzi cię z powrotem do miejsca, w którym jesteś teraz.