Mohon maaf jika jawabannya jelas, tetapi saya belum dapat menemukannya (mungkin karena saya mencari dengan terminologi yang salah).
Saya menggunakan Mac yang menjalankan Snow Leopard dan saya ingin tahu apakah dimungkinkan untuk menjalankan perintah shell (atau skrip) secara otomatis ketika saya memasukkan / cd ke direktori tersebut.
Contoh untuk menggambarkan pertanyaan saya dengan lebih baik: Saya menggunakan RVM untuk mengelola versi Ruby. Ini menggunakan taktik serupa dengan file .rvmrc proyeknya . File-file ini dijalankan ketika direktori mereka dimasukkan dimasukkan untuk menggunakan versi Ruby yang benar untuk proyek tertentu.
Saya ingin melakukan sesuatu yang serupa untuk menampilkan konten file todo.txt ketika saya memasukkan file yang berisi direktori.
sumber
cd
sana?Jawaban:
Tambahkan yang berikut ke Anda
~/.bash_profile
:Mungkin Anda sudah memiliki fungsi yang sama untuk
cd
- cukup rentangkan yang itu untuk mencetak kontentodo.txt
jika ada.sumber
popd
danpushd
jika Anda menggunakannya. Ubahlah sesuai dengan itu.cd
lagi, seperti yang saya sebutkan di jawaban saya - saya posting hanya setelah mengkonfirmasikannya untuk saya. Temukancd
definisi Anda saat ini dengan memasukkanshopt -s extdebug ; declare -F cd
. Selain itu, Anda perlu sesi shell baru atau memuat secara manual.bash_profile
lagi agar perubahan bisa terjadi.builtin cd "%@"
perintah). Jika saya memodifikasi file ~ / .rmvrc saya, saya dapat mematikan fungsionalitas yang kemudian memungkinkan metode cd kustom saya untuk menjalankan, tetapi kemudian saya kehilangan fungsionalitas kustom RVM. Saya harus membaca dokumentasi RMV untuk mencoba dan menemukan apakah saya dapat memanfaatkan kedua fungsi custom cd tersebut.cd
fungsinya dipanggil. Jika ada yang tertarik pada bagaimana RVM menangani perubahan direktori, jawaban yang bagus dapat ditemukan oleh pembuatnya di sini