Не удалось удалить файл

У меня есть сценарий для этого, который не нуждается в очень симпатичном разборе строк.

Удалить заголовки и изображения, кроме текущего, чтобы освободить место

sudo apt-get autoremove --purge 'linux-headers-[0-9].*' linux-headers-$(uname -r)+ linux-headers-$(uname -r | cut -d- -f1,2)+ 'linux-image-[0-9].*' linux-image-$(uname -r)+
1
задан 20 September 2014 в 23:49

1 ответ

В терминале пробелы не допускаются, поскольку они разделяют разные части команды. Поэтому для имен файлов с пробелами вы должны использовать цитаты, как сказал @Cornelius, или \ непосредственно перед каждым пространством:

sudo rm /usr/local/bin/Katy\ Perry\ -\ Dark\ Horse\ \(Official\)\ ft.\ Juicy\ J-0KSOMA3QBU0.mp4.part

Так как некоторые редкие команды не принимают цитаты, вам лучше знать о \.

0
ответ дан 24 May 2018 в 03:32
  • 1
    Как обратная косая черта, так и другие формы цитирования обрабатываются самой оболочкой, а не выполняемыми командами. (Это справедливо даже при передаче цитируемых выражений в shell builtins - расширение цитируемого выражения и удаление цитаты выполняется оболочкой, а действие встроенного объекта выполняется оболочкой, но они выполняются как отдельные этапы, причем сначала выполняется до начала второго). Так что «некоторые редкие команды не принимают котировки», на самом деле не имеет смысла. Иногда обратная косая черта - самый простой способ процитировать, но они вряд ли когда-либо будут единственным возможным способом. – Eliah Kagan 20 September 2014 в 23:55

Другие вопросы по тегам:

Похожие вопросы: