Скажімо, у мене була папка, названа *під /. Я знаю, що загальні команди, такі як rm -rf *, не працюватимуть. Будь-яка допомога?
Скажімо, у мене була папка, названа *під /. Я знаю, що загальні команди, такі як rm -rf *, не працюватимуть. Будь-яка допомога?
Відповіді:
Ви можете одноцитувати аргументи, щоб запобігти обробці оболонкою.
rm -r '/*'
Перевірте це безпечно, використовуючи ls(у папках, що містять файли):
$ ls '*'
ls: *: No such file or directory
У цьому випадку подвійні лапки також працюватимуть, але якщо вони будуть $залучені, вони не будуть, оскільки оболонка вважає, що це змінна:
$ ls "foo$bar"
ls: foo: No such file or directory
$ ls 'foo$bar'
ls: foo$bar: No such file or directory
Для GNU rmви можете також додати --аргументи до імені файлу, щоб запобігти їх розбору як аргументи. Це дозволить -rfбез проблем видаляти файли, названі ними .
&), і уникати їх окремо, що може легко стати більше зусиль, ніж цитування одного разу. Тому я вважаю, що окремі втечі є неповноцінними і розмістив цю альтернативу.
bashсторінки людини потребує певного часу, якщо ви не знаєте, що шукати.
rm *було б працювати над тим, щоб видалити цю папку.