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 :=)