Bash: dapatkan nama direktori kerja saat ini, tetapi tidak path lengkap

17

Saya tahu bahwa pwdakan mencetak path lengkap direktori kerja saat ini, tetapi saya ingin mencetak hanya nama direktori. Apakah ada perintah sederhana untuk melakukan ini tanpa menguraikan pwd?

pengguna214632
sumber

Jawaban:

26

Ya ada. Anda dapat menggunakan bash murni:

echo "${PWD##*/}"

atau lebih baik, untuk menghindari kasus ketika Anda bisa berada di -edirektori:

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

(terima kasih kepada @gniourf_gniourf untuk saran kedua).

Atau Anda dapat menggunakan basenamealat:

basename "$PWD"
Radu Rădeanu
sumber
2
Jugabasename ~+
Steven Penny
Anda juga dapat melakukanecho "${PWD##*/}"
AMIC MING
2
1. apa itu direktori -e 2. "$ {PWD ## * /}" bagaimana cara kerjanya?
Sonique