Existem três mecanismos de citação: o caractere de escape , aspas simples e aspas duplas.
Uma barra invertida não citada ( \ ) é o
caractere de escape . Ele preserva o valor literal do próximo caractere a seguir, com exceção de <newline>. Se um par \ <newline> aparecer e a barra invertida não estiver entre aspas, o \ <newline> será tratado como uma continuação de linha (ou seja, será removido do fluxo de entrada e efetivamente ignorado).
Incluir caracteres entre aspas simples preserva o valor literal de cada caractere dentro das aspas. Uma aspas simples pode não ocorrer entre aspas simples, mesmo quando precedida por uma barra invertida.
A inclusão de caracteres entre aspas duplas preserva o valor literal de todos os caracteres entre aspas, com exceção de $ , ` , \ e, quando a expansão do histórico estiver ativada ,! . Os caracteres $ e ` mantêm seu significado especial entre aspas duplas. A barra invertida retém seu significado especial somente quando seguido por um dos seguintes caracteres: $ , ` , " ,
\ ou <newline> . Uma citação dupla pode ser citada entre aspas duplas precedendo-a com uma barra invertida. Se ativado, expansão do histórico será realizada a menos que! aparecer entre aspas duplas é escapado usando uma barra invertida. A barra invertida que precede o ! não é removido.
Os parâmetros especiais * e @ têm um significado especial entre aspas duplas (consulte PARÂMETROS abaixo).
Palavras da forma $ ' string ' são tratadas especialmente. A palavra se expande para cadeia , com caracteres de escape com barra invertida substituídos conforme especificado pelo padrão ANSI C. Seqüências de escape de barra invertida, se presentes, são decodificadas da seguinte maneira:
\ um alerta (sino)
\ b retrocesso
\ e
\ E um caractere de escapar
\ f alimentação de forma
\ n nova linha
\ r retorno do carro
\ t horizontal guia
\ v patilha vertical
\\ barra invertida
\' apóstrofo
\" dobrar citação
\ nnn o caractere de oito bits cujo valor é o valor octal nnn
(um a três dígitos)
\ x HH o caractere de oito bits cujo valor é o valor hexadecimal HH
(um ou dois dígitos hexadecimais)
\ u HHHH o caractere Unicode (ISO / IEC 10646) cujo valor é
o valor hexadecimal HHHH (um a quatro dígitos hexadecimais)
\ U HHHHHHHH
o caractere Unicode (ISO / IEC 10646) cujo valor é
o valor hexadecimal HHHHHHHH (um a oito dígitos hexadecimais)
\ c x um caractere de controle x
O resultado expandido é de aspas simples, como se o cifrão não estivesse presente.
Uma sequência de aspas duplas precedida por um sinal de dólar ( $ " string " ) fará com que a string seja traduzida de acordo com o código de idioma atual. Se o código do idioma atual for C ou POSIX , o cifrão será ignorado. Se a sequência for traduzida e substituída, a substituição será citada duas vezes.
"$HOME"
ou parâmetros em expansão"${USER:-root}"
, substituem comandos sob forma"$(date)"
ou"`date`"
expansão aritmética"$((1 + 2))"
, expansão de histórico"!!"
ou escape de barra invertida"\\"
. Use aspas simples. Veja a página de manual do manual do bash, a seção intitulada "Citações".