Есть ли причина избежать точки в расширении имени bash?

Я работаю с скриптом bash, который написал кто-то другой, и я вижу следующую строку:

cp -v ${LOG_DIR}/${APPLICATION}\.*.log ${ARCHIVED_LOG_DIR} 

Файлы, с которыми он работает, имеют все имена:

EXAMPLE.command1.log EXAMPLE.command2.log

Есть ли причина, по которой обратная косая черта исчезает, поскольку точка не обрабатывается специально в расширениях имен файлов? Каковы последствия этого и без обратной косой черты?

 cp -v ${LOG_DIR}/${APPLICATION}.*.log ${ARCHIVED_LOG_DIR} 

  • Bash, интересуется переменной echo $
  • Получить время процесса в секундах
  • переменные в команде find и проблема с оболочкой
  • find use - командная строка vs script
  • Удаленный запуск через SSH
  • "Grep: Непревзойденная ошибка [" при использовании регулярного выражения
  • синтаксис grep для поиска строк с одиночными кавычками?
  • bash добавляет апострофы к расширенной переменной
  • 2 Solutions collect form web for “Есть ли причина избежать точки в расширении имени bash?”

    Нет никакой разницы. Точка . не является специальным символом оболочки, который нуждается в цитировании, а обратная косая черта просто удаляется во время удаления цитаты . Это верно в большинстве оболочек, а не только в bash .

    Не ответ на ваш вопрос, который уже был рассмотрен с помощью @ jw013, но учтите, что в то время как \ и {} здесь лишние, есть несколько недостающих вещей. Как и переменные, нужно указывать, а -- пометить конец опций отсутствует.

     cp -v -- "$LOG_DIR/$APPLICATION".*.log "$ARCHIVED_LOG_DIR" 
    Linux и Unix - лучшая ОС в мире.