Tôi gặp BASEDIR=$(pwd)
trong một kịch bản.
Có bất kỳ lợi thế hoặc bất lợi nào khi sử dụng BASEDIR="$PWD"
, ngoài việc $PWD
có thể bị ghi đè không?
$(pwd)
, vì $PWD
có thể trở nên lỗi thời trong một số trường hợp nhất định.
pwd
có khả năng cung cấp cho bạn ít thông tin cũ hơn $PWD
trong một số trường hợp góc. $(pwd)
mặt khác không hoạt động nếu thư mục hiện tại kết thúc bằng các ký tự dòng mới, có nghĩa là bỏ qua một quá trình (ngoại trừ trong ksh93) và sử dụng các tài nguyên bổ sung. Quan điểm của tôi là sử dụng $PWD
của $(pwd -P)
, nó không phải là giá trị sử dụng $(pwd)
.
cd -P -- "$dir"
. nếu có bất kỳ nghi ngờ gì về giá trị của $PWD
bạn luôn có thể cd -P .
đầu tiên. điều này cũng có thể có lợi ở chỗ bạn cũng nhận được bất cứ điều gì $PWD
trước đó $OLDPWD
và do đó có thể so sánh chúng sau đó - và cd ...; cd -
trình tự tiếp theo sẽ chắc chắn đưa bạn trở lại nơi bạn đang ở.