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 $PWDcó thể bị ghi đè không?
$(pwd), vì $PWDcó thể trở nên lỗi thời trong một số trường hợp nhất định.
pwdcó khả năng cung cấp cho bạn ít thông tin cũ hơn $PWDtrong 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 $PWDcủ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 $PWDbạ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ì $PWDtrước đó $OLDPWDvà 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 ở.