Setiap kali saya rm
beberapa item sekaligus dengan shell globbing dan bahkan ada kemungkinan sekecil apa pun untuk memperluas pola lebih dari yang saya harapkan, saya selalu mencoba mengingat untuk menambahkan -i
, tapi (tentu saja) saya bisa lupa dan secara tidak sengaja menerbangkan sesuatu yang bermanfaat. Beberapa orang mencoba menyelesaikan masalah ini dengan alias, seperti alias rm='rm -i'
tapi saya benci ide membuat rm selalu interaktif, karena dengan begitu saya akan terbiasa menggunakan -f
semua waktu, yang jelas akan mengalahkan seluruh tujuan.
Yang ingin saya lakukan adalah rm
menggunakan hanya -i
ketika saya menggunakan globbing, dan -f
tentu saja untuk menimpanya -i
, jadi saya masih bisa menerbangkan seluruh direktori dengan yang biasa rm -rf junk
.
Karena itu rm *blah*
akan benar-benar rm -i *blah*
tetapi rm blah
akan bekerja persis seperti yang diketik.
Jika ada perbedaan dalam bagaimana hal ini dapat dilakukan dalam shell yang berbeda, saya akan memilih jawaban yang memasok metode untuk bash dan zsh atas jawaban yang hanya mencakup satu atau yang lain.
Catatan : Saya sebenarnya tidak yakin ini adalah ide yang bagus; Saya hanya bertanya apakah itu mungkin. Jika Anda pikir ini adalah ide yang bodoh, saya akan sangat senang mendengar alasan di balik pendapat Anda, tetapi tolong jangan mengirim komentar seperti itu di bidang jawaban . Jawaban yang sebenarnya memberi tahu saya bagaimana melakukan ini atau menjelaskan itu / mengapa itu tidak mungkin (atau mungkin menawarkan metode alternatif untuk mendapatkan hasil yang serupa). Tetapi jika Anda ingin memberi tahu saya mengapa ini bodoh, silakan kirim sebagai komentar. Saya akan memilih komentar yang masuk akal sekalipun saya tidak setuju dengan kesimpulannya.
noglob
dengan misalnya, aliasing rm to noglob my-rm
, dan kemudian memiliki my-rm menjadi skrip yang memeriksa bola dunia, memperluasnya, dan melewati -i atau tidak. Tidak yakin, tidak tahu zsh.
myrm
dan biarkan skrip itu melakukan hal-hal luar biasa yang Anda sukai.
rm -I
adalah seperti-i
itu hanya memicu ketika lebih dari tiga file atau-r
dilewatkan. Dibash
, gunakanCtrl-x *
pintasan keyboard untuk memperluas gumpal dan memeriksanya sendiri.