Diferença entre citações simples e duplas em Bash

Diferença entre citações simples e duplas em Bash

Bash, a concha usada na maioria das distribuições Linux, fornece várias maneiras de citar strings. Entre estes, citações únicas (”) e citações duplas ("") são os mais comumente usados. Embora possam parecer semelhantes, eles têm comportamento diferente e podem afetar como a concha interpreta o conteúdo da string.

Neste artigo, exploraremos as diferenças entre citações únicas e duplas em Bash.

Citações únicas (”)

Citações únicas são usadas para incluir uma string em bash. Quando uma string é fechada em citações únicas, a concha trata o conteúdo da string como uma corda literal, sem nenhuma interpretação. Isso significa que todos os personagens especiais dentro das citações únicas são tratadas como caracteres regulares, e nenhuma expansão ou substituição ocorre.

Por exemplo, se tivermos uma string que contém um sinal de dólar ($), que é um personagem especial em Bash, e nós o incluímos em citações únicas, o sinal do dólar é tratado como um personagem regular e não expandido. Aqui está um exemplo:

eco 'meu salário custa US $ 1000'
1eco 'meu salário custa US $ 1000'

Neste exemplo, a string 'Meu salário custa US $ 1000' está fechado em citações únicas. Quando executamos o comando, o shell trata a corda como uma corda literal e a imprime exatamente como é, sem expandir o sinal do dólar.

Aspas duplas ("")

Citações duplas também são usadas para incluir uma string em bash. Quando uma string é fechada em citações duplas, o shell trata o conteúdo da string de maneira diferente do que é com citações únicas. Especificamente, o shell expande variáveis ​​e certos caracteres especiais dentro das citações duplas.

Por exemplo, se tivermos uma variável $ nome que contém um valor 'John', E nós o incluímos em citações duplas, o shell expande a variável e substitui seu valor na string. Aqui está um exemplo:

Nome = "John" Echo "Hello, $ Name!"
12nome = 'John'echo "Olá, $ Nome!"

Neste exemplo, o nome da variável $ é incluído em cotações duplas. Quando executamos o comando, o shell expande a variável e substitui seu valor na string, resultando na saída 'Olá john!'.

Citações duplas também permitem o uso de certos caracteres especiais, como barras de barriga (\) e marcos de exclamação (!) dentro da string. Esses personagens podem ser escapados usando uma barra de barriga (\) para evitar seu significado especial.

Por exemplo, se queremos incluir um ponto de exclamação em nossa corda, que tem um significado especial em Bash, podemos escapar com uma barra de barriga para evitar seu significado especial. Aqui está um exemplo:

eco "Este é um ponto de exclamação: \!"
1eco "Este é um ponto de exclamação: \!"

Neste exemplo, o ponto de exclamação é escapar com um barra de barriga (!) Para evitar seu significado especial. Quando executamos o comando, o shell trata o ponto de exclamação como um personagem regular e o imprime na saída.

Conclusão

Em conclusão, a principal diferença entre citações únicas e citações duplas em Bash é a maneira como a concha trata o conteúdo da string. Citações únicas Trate o conteúdo da string como uma corda literal, sem nenhuma interpretação ou substituição, enquanto as citações duplas permitem a expansão de variáveis ​​e certos caracteres especiais. Ao usar citações em Bash, é importante entender as diferenças entre aspas simples e duplas e escolher o apropriado com base no comportamento pretendido.