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 ls
nế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_wd
là unset, bạn có thể gán giá trị mặc định sẽ được sử dụng trong trường hợp đó (xem bash
trang man, tìm kiếm :=
)