1.abc! ``! +123 является допустимым именем файла?

Это допустимое имя файла 1.abc!``!+123 в Ubuntu?

Я выполнил команду

rm 1.abc!``!+123 

и получил сообщение об ошибке

-bash: !``!+123: event not find

Почему? Как мне удалить файл?

4
задан 1 March 2013 в 22:22

2 ответа

Просто просто rm '1.abc!``!+123'. Примечание о '

Примечание : Цитирование используется для удаления специального значения определенных символов или слов в оболочке. Кавычки могут использоваться для отключения специальной обработки для специальных символов, для предотвращения распознавания зарезервированных слов как таковых и для предотвращения расширения параметров. Некоторые специальные символы: $ `"!

0
ответ дан 1 March 2013 в 22:22

Да, это - имя правильного файла. Однако оболочка рассматривает тех, которые как специальные символы, так для использования их в команде файла, необходимо будет выйти из них использование ':

rm '1.abc!``!+123'

Согласно странице справочника удара,

! Запускают замену истории, кроме тех случаев, когда сопровождаемый пробелом, новой строкой, возвратом каретки, = или ((когда опция оболочки extglob включена с помощью shopt встроенного).

И

Замена команды

Замена команды позволяет выводу команды заменять название команды. Существует две формы:

$(command)

или

`command`

Таким образом, если Вы хотите использовать ! или ` символы как регулярные символы, необходимо выйти из них использование ' таким образом, оболочка не пытается запустить замена команды или история.

7
ответ дан 1 March 2013 в 22:22

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

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