secara otomatis menjalankan ls setelah mengubah jalur menggunakan autocd

8

Jadi setiap kali saya mengubah direktori saya ingin jalur baru untuk secara otomatis terdaftar ls.
Ada solusi jika path diubah menggunakan cdtetapi saya tidak pernah menemukan solusi yang akan bekerja ketika path diubah menggunakan autocdopsi.

Akan sangat nyaman, adakah yang pernah mencapai itu sebelumnya?

brillout
sumber

Jawaban:

5

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 lsjika 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_wdtidak disetel, Anda dapat menetapkan nilai default yang akan digunakan dalam kasus itu (lihat bashhalaman manual, cari :=)

Steabert
sumber