Я столкнулся BASEDIR=$(pwd)в сценарии.
Есть ли какие-либо преимущества или недостатки по сравнению с использованием BASEDIR="$PWD", которые $PWDмогут быть перезаписаны?
$(pwd), потому что $PWDв определенных обстоятельствах может устареть.
pwdпотенциально вы получите менее устаревшую информацию, чем $PWDв некоторых угловых случаях. $(pwd)с другой стороны, не работает, если текущий каталог оканчивается символами новой строки, означает разветвление процесса (кроме ksh93) и использование дополнительных ресурсов. По моему мнению , использование $PWDв $(pwd -P)это не стоит использовать $(pwd).
cd -P -- "$dir". если есть какие-либо сомнения в ценности, $PWDвы всегда можете cd -P .сначала. это также может быть полезным в том смысле, что вы также получаете то, что $PWDбыло до этого, $OLDPWDи поэтому можете сравнить их потом - и следующая cd ...; cd -последовательность наверняка вернет вас туда, где вы сейчас находитесь.