Bash: lấy tên thư mục làm việc hiện tại, nhưng không đầy đủ đường dẫn


17

Tôi biết rằng pwdsẽ in đường dẫn đầy đủ của thư mục làm việc hiện tại, nhưng tôi chỉ muốn in tên của thư mục. Có một lệnh đơn giản để làm điều này mà không cần phân tích cú pháp pwd?

Câu trả lời:


26

Có, có. Bạn có thể sử dụng bash tinh khiết:

echo "${PWD##*/}"

hoặc tốt hơn, để tránh trường hợp khi bạn có thể có trong -ethư mục:

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

(cảm ơn @gniourf_gniourf cho đề xuất thứ hai).

Hoặc bạn có thể sử dụng basenamecông cụ:

basename "$PWD"

2
Ngoài rabasename ~+
Steven Penny

bạn cũng có thể làmecho "${PWD##*/}"
AMIC MING

2
1. thư mục -e là gì 2. "$ {PWD ## * /}" nó hoạt động như thế nào?
Sonique
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.