Saya mencari solusi untuk digunakan sebagai respons terhadap "rm: hapus file biasa yang dilindungi tulis [x]?"
Saya berpikir untuk mengeluarkan karakter diikuti dengan carriage return untuk beberapa kali, di bashrc. Bagaimana kita melakukannya?
bash
command-line
rm
Iancovici
sumber
sumber
Jawaban:
Edit berdasarkan pertanyaan yang diperbarui:
Untuk menghindari ditanya tentang menghapus file, tambahkan opsi
-f
("paksa"):Ini memiliki satu efek samping yang harus Anda perhatikan: Jika salah satu jalur yang diberikan tidak ada, itu tidak akan melaporkan ini, dan itu akan kembali dengan sukses:
Jawaban asli:
Inilah satu solusi sederhana:
yes
mengulangi setiap string yang Anda berikan tanpa batas, dipisahkan oleh baris baru.head
menghentikannya setelah beberapa$number
kali, dantr
menerjemahkan baris baru ke carriage return. Anda mungkin tidak melihat output apa pun karena carriage return, tetapi meneruskannya ke perintah ini (dibash
) harus menggambarkannya:Pengguna tanpa
bash
dapat menyalurkan hasilnya keod
,hexdump
atauxxd
untuk melihat karakter yang sebenarnya dikembalikan.sumber
Masalah lain yang sering saya
rm
temui adalah, aliasrm -i
, seperti ini di / etc / bashrc:Dalam hal ini Anda bisa
unalias rm
atau Anda dapat menggunakan trik ini yang saya temukan bertahun-tahun yang lalu, letakkan backslash di depan perintah yang telah alias, untuk mengabaikan alias hanya sekali itu saja, misalnya:Anda dapat mempelajari lebih lanjut tentang alias melalui sebuah artikel di Nixcraft .
sumber
rm
hardcoded untuk bertanya "secara interaktif" (prompt menunggu input pengguna) pada file yang dilindungi tulis. ada dua metode untuk mencegahrm
bertanya:dan
(keduanya juga berfungsi tanpa
-r
saat menghapus file, bukan dirs)penjelasan:
-f
membuatrm
untuk "mengabaikan file dan argumen yang tidak ada, tidak pernah meminta".--interactive=never
melakukan apa yang dikatakannya: tidak pernah interaktif. dengan kata lain: tidak pernah cepat.perbedaan antara
-f
dan--interactive=never
merupakan bagian ini: "abaikan file dan argumen yang tidak ada".membandingkan:
dan
perbedaannya terutama menarik ketika menulis skrip di mana Anda tidak pernah ingin
rm
interaktif tetapi masih ingin menangani kesalahan.ringkasan: pada penggunaan baris perintah
rm -rf
. dalam penggunaan skriprm -r --interactive=never
.untuk menjawab pertanyaan yang dinyatakan ("Bagaimana cara menghindari kebutuhan untuk mengeluarkan" y "beberapa kali saat menghapus file yang dilindungi") lihat https://askubuntu.com/questions/338857/automatically-enter-input-in-command-line / 338860 # 338860
sumber
berikan saja ya untuk semua perintah Anda!
Bagaimanapun Anda selalu dapat memaksa menggunakan
-f
:sumber
Saya juga mengalami masalah yang sama. Jawaban di atas hanya untuk satu file tetapi jika Anda ingin mengabaikan banyak ya.
Anda dapat gunakan
untuk menghapus semua file biasa yang dilindungi tulis
sumber