Anda dapat mencapai ini dengan mengubah variabel PROMPT_COMMAND
, yang dieksekusi sebelum PS1, misalnya:
PROMPT_COMMAND='ls'
Ini akan mencantumkan setiap kali Anda mendapatkan prompt baru. Tentu saja Anda hanya ingin mengeksekusi ls
jika direktori telah berubah:
PROMPT_COMMAND='[[ $my_currdir != $PWD ]] && ls; my_currdir=$PWD'
Ini memeriksa apakah direktori baru tidak sama dengan set terakhir, dan kemudian dijalankan ls
, setelah itu direktori Anda saat ini disimpanmy_currdir
Saya menemukan baris yang lebih baik di sini , di mana mereka menggunakan bash sebagai pengelola file :
PROMPT_COMMAND='[[ ${__new_wd:=$PWD} != $PWD ]] && list; __new_wd=$PWD'
karena mungkin itu __new_wd
tidak disetel, Anda dapat menetapkan nilai default yang akan digunakan dalam kasus itu (lihat bash
halaman manual, cari :=
)