Это допустимое имя файла 1.abc!``!+123
в Ubuntu?
Я выполнил команду
rm 1.abc!``!+123
и получил сообщение об ошибке
-bash: !``!+123: event not find
Почему? Как мне удалить файл?
Просто просто rm '1.abc!``!+123'
. Примечание о '
Примечание : Цитирование используется для удаления специального значения определенных символов или слов в оболочке. Кавычки могут использоваться для отключения специальной обработки для специальных символов, для предотвращения распознавания зарезервированных слов как таковых и для предотвращения расширения параметров. Некоторые специальные символы: $ `"!
Да, это - имя правильного файла. Однако оболочка рассматривает тех, которые как специальные символы, так для использования их в команде файла, необходимо будет выйти из них использование '
:
rm '1.abc!``!+123'
Согласно странице справочника удара,
! Запускают замену истории, кроме тех случаев, когда сопровождаемый пробелом, новой строкой, возвратом каретки, = или ((когда опция оболочки extglob включена с помощью shopt встроенного).
И
Замена команды
Замена команды позволяет выводу команды заменять название команды. Существует две формы:
$(command)
или
`command`
Таким образом, если Вы хотите использовать !
или `
символы как регулярные символы, необходимо выйти из них использование '
таким образом, оболочка не пытается запустить замена команды или история.