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