Spotkałem się BASEDIR=$(pwd)
w skrypcie.
Czy są jakieś zalety lub wady w stosunku do używania BASEDIR="$PWD"
, które $PWD
mogą być nadpisane?
$(pwd)
, ponieważ $PWD
w niektórych okolicznościach może stać się nieaktualny.
pwd
potencjalnie da ci mniej przestarzałych informacji niż $PWD
w 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 $PWD
od $(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 $PWD
było wcześniej, $OLDPWD
i 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.