Não há diferença. O ponto .
não é um caractere de shell especial que precisa ser citado e a barra invertida será simplesmente removido durante a remoção de cotações . Isso é verdade na maioria dos shells, não apenas em bash
.
Estou trabalhando com um script bash que alguém escreveu e vejo a seguinte linha:
cp -v ${LOG_DIR}/${APPLICATION}\.*.log ${ARCHIVED_LOG_DIR}
Os arquivos com os quais está trabalhando são todos nomeados como:
EXAMPLE.command1.log
EXAMPLE.command2.log
Existe algum motivo para a barra invertida escapar do ponto, uma vez que um ponto não é tratado especialmente nas expansões do nome de arquivo? Quais são as implicações de se fazer isso sem a barra invertida?:
cp -v ${LOG_DIR}/${APPLICATION}.*.log ${ARCHIVED_LOG_DIR}
Não há diferença. O ponto .
não é um caractere de shell especial que precisa ser citado e a barra invertida será simplesmente removido durante a remoção de cotações . Isso é verdade na maioria dos shells, não apenas em bash
.
Não é uma resposta à sua pergunta que já foi respondida por @ jw013, mas observe que, embora os \
e {}
sejam supérfluos aqui, há algumas coisas faltando. Como as variáveis devem ser citadas, e --
para marcar o final das opções está faltando.
cp -v -- "$LOG_DIR/$APPLICATION".*.log "$ARCHIVED_LOG_DIR"