Я столкнулся 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 -
последовательность наверняка вернет вас туда, где вы сейчас находитесь.