Tampilkan pesan saat cd ke direktori tertentu

15

Bagaimana saya bisa menampilkan pesan ketika saya cdmasuk ke direktori tertentu? Direktori ini adalah direktori lokal, dan saya hanya perlu pengingat ketika saya masuk dari terminal.

Connor Montgomery
sumber

Jawaban:

25

Jika saya jadi Anda, saya akan bermain-main dengan sesuatu seperti itu di file konfigurasi shell saya (misalnya ~/.bashrc):

reminder_cd() {
    builtin cd "$@" && { [ ! -f .cd-reminder ] || cat .cd-reminder 1>&2; }
}

alias cd=reminder_cd

Dengan cara ini, Anda dapat menambahkan .cd-reminderfile di setiap direktori yang ingin Anda ingatkan. Konten file akan ditampilkan setelah masing-masing berhasil cdke direktori.

gim@tenebreuse ~/tmp % echo 'warning: this directory is pure junk' > .cd-reminder
gim@tenebreuse ~/tmp % cd ..
gim@tenebreuse ~ % cd tmp
warning: this directory is pure junk
gim@tenebreuse ~/tmp % 
Stéphane Gimenez
sumber
1
Ngomong-ngomong, ide keren! Saya suka, dan mungkin saya akan menggunakannya juga :-)
Stéphane Gimenez
Tidak mengimpor dalam kasus ini, tetapi secara umum adalah abit yang baik untuk selalu menggandakan penawaran $@.
enzotib
1
Terima kasih, saya sekarang bertanya-tanya apakah ada kasus di mana $@harus lebih disukai daripada "$@"...
Stéphane Gimenez
1
Anda harus menggunakan $@atau $*(mereka adalah hal yang sama ketika tidak dikutip) ketika Anda ingin IFS kata-kata terjadi.
Chris Down
Jika Anda menggunakan metode ini jangan lupa alias pushddan popdjuga.
mVChr