Кожного разу, коли я rmодноразово обробляю декілька предметів, і навіть є найменша можливість, щоб візерунок розширився до більшого, ніж я очікував, я завжди намагаюся запам'ятати, щоб додати -i, але (звичайно) я можу забути і випадково підірвати щось корисне. Деякі люди намагаються вирішити цю проблему псевдонімом, наприклад, alias rm='rm -i'але я ненавиджу ідею зробити rm завжди інтерактивним, тому що тоді я ввійду в звичку використовувати -fвесь час, що, очевидно, переможе всю мету.
Що я хотів би зробити, це rmвикористовувати лише -iтоді, коли я використовую глобус, і, -fзвичайно, переосмислюю -i, так що я все-таки можу видувати цілі каталоги зі звичайними rm -rf junk.
Тому rm *blah*справді було б, rm -i *blah*але rm blahпрацювало б точно так, як набрано.
Якщо є різниця в тому, як це може бути досягнуто в різних оболонках, я виберу відповідь, яка надає методи як для bash, так і для zsh над відповідями, які охоплюють лише те чи інше.
Примітка : я насправді не впевнений, що це обов'язково хороша ідея; Я просто запитую, чи це можливо. Якщо ви вважаєте, що це дурна думка, я би дуже радий почути міркування, що стоять за вашою думкою, але, будь ласка, не публікуйте таких коментарів у полі відповідей . Реальні відповіді або підказують мені, як це зробити, або пояснюють, що / чому це неможливо (або можливо запропонувати альтернативний метод отримання аналогічного результату). Але якщо ви хочете сказати мені, чому це німець, будь ласка, опублікуйте як коментар. Я підтримаю обґрунтовані коментарі, навіть якщо я не згоден з висновком.
noglob, наприклад, псевдонімом rm до noglob my-rm, а потім мати my-rm сценарій, який перевіряє глобальність, розширює його та передає -i чи ні. Не впевнений, не знаю zsh.
myrmі дозволити цьому сценарію робити те, що вам подобається.
rm -Iподібне,-iщо запускається лише тоді, коли-rпередано більше трьох файлів або передано. Вbash, використовуйтеCtrl-x *поєднання клавіш , щоб розширити Glob і перевірити це самостійно.