ฉันรู้ว่าpwdจะพิมพ์เส้นทางแบบเต็มของไดเรกทอรีการทำงานปัจจุบัน แต่ฉันต้องการพิมพ์เฉพาะชื่อของไดเรกทอรี มีคำสั่งง่ายๆที่จะทำโดยไม่ต้องแยกวิเคราะห์pwd?
ฉันรู้ว่าpwdจะพิมพ์เส้นทางแบบเต็มของไดเรกทอรีการทำงานปัจจุบัน แต่ฉันต้องการพิมพ์เฉพาะชื่อของไดเรกทอรี มีคำสั่งง่ายๆที่จะทำโดยไม่ต้องแยกวิเคราะห์pwd?
คำตอบ:
ใช่แล้ว คุณสามารถใช้ทุบตีบริสุทธิ์:
echo "${PWD##*/}"
หรือดีกว่าเพื่อหลีกเลี่ยงกรณีที่เมื่อคุณอยู่ใน-eไดเรกทอรี:
printf '%s\n' "${PWD##*/}"
(ขอบคุณ @gniourf_gniourf สำหรับคำแนะนำที่สอง)
หรือคุณสามารถใช้basenameเครื่องมือ:
basename "$PWD"
echo "${PWD##*/}"
basename ~+