Estações de trabalho on-line OnWorks Linux e Windows

Logotipo

Hospedagem online grátis para estações de trabalho

<Anterior | Conteúdo | Próxima>

Expansões para gerenciar variáveis ​​vazias

Diversas expansões de parâmetros são destinadas a lidar com variáveis ​​inexistentes e vazias. Essas expansões são úteis para lidar com parâmetros posicionais ausentes e atribuir valores padrão aos parâmetros.

${parâmetro:-palavra}

If parâmetro não está definido (ou seja, não existe) ou está vazio, esta expansão resulta no valor de palavra. Se parâmetro não está vazio, a expansão resulta no valor de parâmetro.



[me @ linuxbox ~] $ foo =

[me @ linuxbox ~] $ echo $ {foo: - "valor substituto se não definido"}

substitua o valor se não estiver definido [me @ linuxbox ~] $ echo $ foo


[me @ linuxbox ~] $ foo = bar

[me @ linuxbox ~] $ echo $ {foo: - "valor substituto se não definido"}

Barra

[me @ linuxbox ~] $ echo $ foo

Barra

[me @ linuxbox ~] $ foo =

[me @ linuxbox ~] $ echo $ {foo: - "valor substituto se não definido"}

substitua o valor se não estiver definido [me @ linuxbox ~] $ echo $ foo


[me @ linuxbox ~] $ foo = bar

[me @ linuxbox ~] $ echo $ {foo: - "valor substituto se não definido"}

Barra

[me @ linuxbox ~] $ echo $ foo

Barra


${parâmetro:=palavra}

If parâmetro não está definido ou vazio, esta expansão resulta no valor de palavra. Além disso, o valor de palavra está atribuído a parâmetro. Se parâmetro não está vazio, a expansão resulta no valor de parâmetro.


[me @ linuxbox ~] $ foo =

[me @ linuxbox ~] $ echo $ {foo: = "valor padrão se não definido"}

valor padrão se não definido [me @ linuxbox ~] $ echo $ foo valor padrão se não definido [me @ linuxbox ~] $ foo = bar

[me @ linuxbox ~] $ echo $ {foo: = "valor padrão se não definido"}

Barra

[me @ linuxbox ~] $ echo $ foo

Barra

[me @ linuxbox ~] $ foo =

[me @ linuxbox ~] $ echo $ {foo: = "valor padrão se não definido"}

valor padrão se não definido [me @ linuxbox ~] $ echo $ foo valor padrão se não definido [me @ linuxbox ~] $ foo = bar

[me @ linuxbox ~] $ echo $ {foo: = "valor padrão se não definido"}

Barra

[me @ linuxbox ~] $ echo $ foo

Barra


imagem

Nota: Parâmetros posicionais e outros parâmetros especiais não podem ser atribuídos dessa forma.


imagem


${parâmetro:?palavra}

If parâmetro não está definido ou está vazio, esta expansão faz com que o script saia com um erro e o conteúdo de palavra são enviados para o erro padrão. Se parâmetro não está vazio, a expansão resulta no valor de parâmetro.



[me @ linuxbox ~] $ foo =

[me @ linuxbox ~] $ echo $ {foo:? "parâmetro está vazio"}

bash: foo: o parâmetro está vazio [me @ linuxbox ~] $ eco $?

1

[me @ linuxbox ~] $ foo = bar

[me @ linuxbox ~] $ echo $ {foo:? "parâmetro está vazio"}

Barra

[me @ linuxbox ~] $ eco $?

0

[me @ linuxbox ~] $ foo =

[me @ linuxbox ~] $ echo $ {foo:? "parâmetro está vazio"}

bash: foo: o parâmetro está vazio [me @ linuxbox ~] $ eco $?

1

[me @ linuxbox ~] $ foo = bar

[me @ linuxbox ~] $ echo $ {foo:? "parâmetro está vazio"}

Barra

[me @ linuxbox ~] $ eco $?

0


${parâmetro:+palavra}

If parâmetro não estiver definido ou vazio, a expansão não resultará em nada. Se parâmetro não está vazio, o valor de palavra é substituído por parâmetro; no entanto, o valor de parâmetro não é alterado.



[me @ linuxbox ~] $ foo =

[me @ linuxbox ~] $ echo $ {foo: + "valor substituto se definido"}


[me @ linuxbox ~] $ foo = bar

[me @ linuxbox ~] $ echo $ {foo: + "valor substituto se definido"}

[me @ linuxbox ~] $ foo =

[me @ linuxbox ~] $ echo $ {foo: + "valor substituto se definido"}


[me @ linuxbox ~] $ foo = bar

[me @ linuxbox ~] $ echo $ {foo: + "valor substituto se definido"}


substitua o valor se definido

substitua o valor se definido


Top OS Cloud Computing na OnWorks: