Saya sering memiliki tata letak direktori proyek seperti ini
project
`-- component-a
| `-- files...
`-- component-b
| `-- files...
`-- component-c
`-- files...
Saya biasanya akan bekerja di salah satu component
direktori, karena di situlah file berada. Ketika saya kemudian kembali ke shell, saya akan sering hanya perlu pindah ke direktori saudara, terutama ketika saya perlu membuat beberapa perubahan non-skrip untuk setiap komponen. Dalam kasus itu, saya bahkan tidak akan peduli apa direktori saudara sebelumnya yang akan saya kerjakan, atau direktori saudara berikutnya.
Bisakah saya mendefinisikan suatu perintah prev
atau next
itu hanya akan cd
saya ke direktori sebelumnya, atau direktori berikutnya (dengan alfabet atau apa pun)? Karena mengetik cd ../com<TAB><Arrow keys>
sepanjang waktu semakin lama.
sumber
[[ -n $foundcwd ]]
kemudian jawaban Anda bekerja di bawah bash dan zsh sama baiknya. Sangat bagus, dan terima kasih telah menulis ini.Fungsi berikut mengizinkan untuk mengubah ke direktori saudara (fungsi bash)
Contoh penggunaan:
sumber
Saya menemukan tip di commandlinefu.com . Saya memposting ulang di sini untuk membuatnya lebih mudah ditemukan, dengan penjelasan dan
next
perintah ditambahkan saat saya melakukannya.Keajaiban ada di blok `$ (...). Ini pipa beberapa perintah satu sama lain sebagai berikut:
sumber
"$foo"
,"$(foo)"
). Selain itu, parsing outputls
tidak dapat diandalkan , mungkin gagal dengan nama file yang mengandung karakter yang tidak patut.