Bash: รับชื่อไดเรกทอรีการทำงานปัจจุบัน แต่ไม่ใช่เส้นทางแบบเต็ม


17

ฉันรู้ว่าpwdจะพิมพ์เส้นทางแบบเต็มของไดเรกทอรีการทำงานปัจจุบัน แต่ฉันต้องการพิมพ์เฉพาะชื่อของไดเรกทอรี มีคำสั่งง่ายๆที่จะทำโดยไม่ต้องแยกวิเคราะห์pwd?

คำตอบ:


26

ใช่แล้ว คุณสามารถใช้ทุบตีบริสุทธิ์:

echo "${PWD##*/}"

หรือดีกว่าเพื่อหลีกเลี่ยงกรณีที่เมื่อคุณอยู่ใน-eไดเรกทอรี:

printf '%s\n' "${PWD##*/}"

(ขอบคุณ @gniourf_gniourf สำหรับคำแนะนำที่สอง)

หรือคุณสามารถใช้basenameเครื่องมือ:

basename "$PWD"

2
ยังbasename ~+
สตีเวนเพนนี

คุณสามารถทำได้echo "${PWD##*/}"
AMIC MING

2
1. ไดเรกทอรี -e คืออะไร 2. "$ {PWD ## * /}" มันทำงานอย่างไร
Sonique
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.