ฉันพบ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 -
ลำดับต่อไปจะต้องแน่ใจว่าจะนำคุณกลับไปที่ที่คุณอยู่ตอนนี้