Substituição de Variáveis

Isto é muito útil e pode ser muito mais elegante que ficar usando if's (explicados mais adiante) sem necessidade! Veja que bacana! ;-)

Obs: um guia mais completo deste recurso pode ser encontrado no capítulo de "Parameter Substitution" do Advanced Bash-Scripting Guide.

${variavel:-string}

Imprime o conteúdo de variavel, mas se variavel não tiver sido definida ou for vazia, a expressão será substituída por string. O valor da variável não é alterado. Veja este exemplo:

$ echo $URL

$ echo ${URL:-"http://mywiki.wooledge.org/BashFAQ"}
http://mywiki.wooledge.org/BashFAQ
$ echo $URL       # observe que a variável não foi alterada

$

${variavel:=string}

Imprime o conteúdo de variável, mas se variavel não estiver sido definida ou for vazia, a expressão será substituída por string e também a variável receberá string. Exemplo:

$ echo $blog

$ echo ${blog:="http://meleu.github.io/blog/"}
http://meleu.github.io/blog/
$ echo $blog
http://meleu.github.io/blog/

${variavel:?string}

Imprime o conteúdo de variavel, mas se variavel não estiver sido definida ou for vazia, string será escrito em stderr (saída de erro padrão). O valor da variável não é alterado. Veja um exemplo:

$ echo ${EDITOR:?"Nenhum editor de texto"}
bash: EDITOR: Nenhum editor de texto
$ echo $EDITOR

${variavel:+string}

Imprime o conteúdo de variavel, mas se variavel estiver definida, será substituída por string mas seu valor não será alterado. Exemplo:

$ echo ${BROWSER:+"BROWSER definido como \"$BROWSER\""}
BROWSER definido como "links"

results matching ""

    No results matching ""