tự động chạy ls sau khi thay đổi đường dẫn bằng autocd


8

Vì vậy, mỗi khi tôi thay đổi thư mục, tôi muốn đường dẫn mới tự động được liệt kê ls.
Có những giải pháp nếu đường dẫn được thay đổi bằng cách sử dụng cdnhưng tôi không bao giờ tìm thấy giải pháp nào hoạt động khi đường dẫn được thay đổi bằng autocdtùy chọn.

Sẽ khá thuận tiện, có ai đạt được điều đó trước đây?

Câu trả lời:


5

Bạn có thể đạt được điều này bằng cách thay đổi biến PROMPT_COMMANDđược thực hiện trước PS1, ví dụ:

PROMPT_COMMAND='ls'

Điều này sẽ liệt kê mỗi khi bạn nhận được một lời nhắc mới. Tất nhiên bạn chỉ muốn thực thi lsnếu thư mục đã thay đổi:

PROMPT_COMMAND='[[ $my_currdir != $PWD ]] && ls; my_currdir=$PWD'

Cái này kiểm tra xem thư mục mới không giống với bộ cuối cùng rồi thực thi ls, sau đó thư mục hiện tại của bạn được lưu trữ trongmy_currdir

Tôi tìm thấy một dòng thậm chí tốt hơn ở đây , nơi họ sử dụng bash làm trình quản lý tệp :

PROMPT_COMMAND='[[ ${__new_wd:=$PWD} != $PWD ]] && list; __new_wd=$PWD'

vì có thể __new_wdlà unset, bạn có thể gán giá trị mặc định sẽ được sử dụng trong trường hợp đó (xem bashtrang man, tìm kiếm :=)

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.