Perguntas com a marcação «variable-substitution»

24
O que significa $ {PATH: +: $ {PATH}}?

Recentemente, notei o seguinte no meu perfil do cygwin, mais precisamente: /usr/local/bin:/usr/bin${PATH:+:${PATH}} O que isso significa? Por que não é apenas $ PATH? Isso é 'se $ PATH existir, adicione: $ PATH'? Meu objetivo é trocar a ordem e colocar os caminhos cygwin atrás do caminho do...

22
Substituição dupla e tripla em bash e zsh

Acompanhamento da parte de fundo desta pergunta . Em basheu posso usar ${!FOO}para substituição dupla, em zsh ${(P)FOO}. Em ambos, a velha escola (hack-y) eval \$$FOOfunciona. Então, a coisa mais inteligente e lógica para mim seria a ${${FOO}}, ${${${FOO}}}…substituição dupla / tripla / n. Por...

13
$ {! FOO} e zsh

${!FOO}executa uma substituição dupla em bash, o que significa que pega o valor (string) de FOO e o usa como um nome de variável. zshnão suporta esse recurso. Existe uma maneira de fazer isso funcionar da mesma maneira bashe zsh? Fundo: Eu tenho uma lista de variáveis ​​de ambiente, como PATH...

12
Nome da variável concatenada da desreferência

Eu posso fazer isso, mas é necessário criar uma sequência da variável e desreferencia-la. Existe alguma maneira de encurtar para uma declaração mais simples? #!/bin/bash FRUITS="BANANA APPLE ORANGE" BANANA_COLOUR="Yellow" APPLE_COLOUR="Green or Red" ORANGE_COLOUR="Blue" for fruit in $( echo...

9
Manipulação de string de bash de tubulação

Eu li algumas outras perguntas sobre manipulação de string de bash de tubulação, mas elas parecem ser aplicativos especializados. Essencialmente, existe uma maneira de fazer o abaixo mais simples? ao invés de $ string='hello world'; string2="${string// /_}"; echo "${string2^^}" HELLO_WORLD algo...