Sintaxe:
Alguns sintaxes de expansão de parâmetros bash mais usados são fornecidos abaixo.
Expansão de parâmetros | Descrição |
$ variável: -value | Se a variável não for definida ou indefinida, expanda o valor. |
$ variável: = value | Se a variável não for definida ou indefinida, defina o valor para a variável. |
$ variável:+valor | Se a variável for definida ou definida, expanda o Value. |
$ variável: start: comprimento | A substring recuperará da posição inicial para a posição de comprimento da variável. |
$ variável: start | A substring recuperará da posição inicial para a parte restante da variável. |
$ #variável | Conte o comprimento da variável. |
$ variável/padrão/string | Substitua a parte da variável pela string, onde o padrão corresponde pela primeira vez. |
$ variável // Pattern/String | Substitua todas as ocorrências na variável por string, onde todos os padrões correspondem. |
$ variável/#padrão/string | Se o padrão existir no início da variável, substitua a ocorrência por string. |
$ variável/%padrão/string | Se o padrão existir no final da variável, substitua a ocorrência por string. |
$ variável#padrão | Remova a correspondência mais curta desde o início da variável, onde o padrão corresponde. |
$ variável ## padrão | Remova a correspondência mais longa desde o início da variável, onde o padrão corresponde. |
$ variável%padrão | Remova a correspondência mais curta do final da variável, onde o padrão corresponde. |
$ variável %% padrão | Remova a correspondência mais longa do final da variável, onde o padrão corresponde. |
A expansão dos parâmetros pode ser categorizada por três grupos. São a expansão condicional dos parâmetros, a expansão dos parâmetros de substring e a expansão de parâmetros substitutos. Os usos dessas expansões de parâmetros são explicados com exemplos na próxima parte deste tutorial.
Exemplo 1: Expansão de parâmetros condicionais
Esses tipos de expansões de parâmetros são usados para verificar se a variável é definida ou não
O seguinte comando verificará a variável, $ myvar está definido ou desmembrado. Se $ myvar é não definido, então a string 'Bash'vai imprimir.
$ echo "$ myvar: -bash"
O comando a seguir imprimirá o valor de $ myvar Se estiver definido.
$ echo $ myvar
O comando a seguir definirá o valor, 'Bash' para $ myvar e imprimir 'Bash'para o terminal se $ myvar é desmembrado.
$ echo "$ myvar: = bash"
Agora, verifique se a variável é definida ou não definida pelo seguinte comando.
$ echo $ myvar
O seguinte comando imprimirá 'Pitão'para o terminal se $ myvar está definido antes.
$ echo "$ myvar:+python"
Novamente, execute o seguinte comando para verificar o valor atual de $ myvar.
$ echo $ myvar
Saída:
A saída a seguir aparecerá após a execução dos comandos acima.
Exemplo-2: Expansão de parâmetros de substring
A expansão dos parâmetros de substring é usada para vários propósitos, como cortar qualquer parte da corda, contar caracteres totais da string, etc. O valor da string pode ser cortado de várias maneiras. Os usos das expansões dos parâmetros de substring são mostrados na próxima parte deste tutorial.
O seguinte comando atribuirá “Bangladesh”Para a variável, $ mystr.
$ mystr = "Bangladesh"
O comando seguinte cortará seis caracteres de $ mystr começando na posição 0.
$ echo "$ mystr: 0: 6"
O comando a seguir cortará todos os personagens de $ mystr, A partir da posição 6.
$ echo "$ mystr: 6"
O comando a seguir contará e imprimirá o número total de caracteres de $ mystr.
$ echo "$ #mystr"
Saída:
A saída a seguir aparecerá após a execução dos comandos acima.
Exemplo-3: String Substitua usando a expansão dos parâmetros
Diferentes tipos de expansões de parâmetros podem ser usados para substituir o valor da string. Os usos da expansão dos parâmetros para substituir o valor da string são mostrados nesta parte do tutorial.
O comando a seguir atribuirá o valor: “Primeiro a entrar, primeiro a sair”Na variável, $ newstr.
$ newstr = "Primeiro na primeira saída"
A seguinte expansão do parâmetro substituirá a string, “Primeiro"Pela string"Durar”Da variável, $ newstr. A pesquisa sensível ao caso será aplicada a esta substituição.
$ echo "$ newstr/fast/last"
A seguinte expansão do parâmetro substituirá todas as ocorrências da string, “Primeiro"Pela string"Durar”Da variável, $ newstr. A pesquisa insensível ao caso se aplicará a esta substituição.
$ echo "$ newstr // fast/last"
Saída:
A saída a seguir aparecerá após a execução dos comandos acima.
O comando a seguir atribuirá o valor: “Comer para viver não viver para comer”Para a variável, $ string.
$ string = "Coma para viver, mas não viver para comer"
A palavra, "comer" aparece duas vezes na variável, $ string. O seguinte comando substituirá a palavra: “Comer" por "Trabalhar”Isso aparece no início de $ string.
$ echo "$ string/#eat/work"
O seguinte comando substituirá a palavra: “comer" por "trabalhar”Isso aparece no final de $ string.
$ echo "$ String/%Eat/Work"
Saída:
A saída a seguir aparecerá após a execução dos comandos acima.
O comando a seguir armazenará o valor “Linguagem de programação da web”Para a variável, $ var.
$ var = "linguagem de programação da web"
A seguinte expansão do parâmetro removerá a palavra: “Rede”Desde o início da variável, $ var.
$ echo "$ var/#web"
A seguinte expansão do parâmetro removerá a palavra: “Linguagem”Do final da variável, $ var.
$ echo "$ var/%idioma"
Saída:
A saída a seguir aparecerá após a execução dos comandos acima.
A expansão do parâmetro Bash é um recurso muito útil do Linux. Ajuda o usuário do Linux a executar diferentes tipos de operações relacionadas a strings com muita facilidade, sem nenhuma função interna. Diferentes tipos de atribuição de string, operações de corte e reposição são mostrados neste tutorial usando a expansão do parâmetro Bash. Esperança, o leitor poderá executar tarefas relacionadas a strings com mais eficiência usando a expansão dos parâmetros depois de ler este tutorial.