Perguntas sobre 'variable-substitution'

1
resposta

Substituição variável com um ponto de exclamação no bash

Eu tenho as seguintes linhas no meu arquivo de script .cfg bash DDF_SOURCE="siebel_DATA_DATE_FORMAT" DATA_DATE_FORMAT=${!DDF_SOURCE} como o ${!DDF_SOURCE } é avaliado? Seria !siebel_DATA_DATE_FORMAT , o que não faz sentido para mim....
21.06.2012 / 18:10
4
respostas

Use uma referência de variável “dentro” de outra variável

Tenho certeza de que é relativamente simples, só não sei como fazer isso. #!/usr/bin/ksh set 'iostat' myvar=6 Eu quero algo como echo ${$myvar} que eu quero interpretado como ${$myvar} - > ${6} - > value     
22.06.2012 / 22:54
2
respostas

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

Recentemente, observei 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? É este um 'se $ PATH existe então adicione: $ PATH'? Meu objetivo é...
04.03.2016 / 00:04
4
respostas

Por que minha variável local está em um loop 'while read', mas não em outro loop aparentemente similar?

Por que recebo valores diferentes para $x dos snippets abaixo? #!/bin/bash x=1 echo fred > junk ; while read var ; do x=55 ; done < junk echo x=$x # x=55 .. I'd expect this result x=1 cat junk | while read var ; do x=55 ; done...
23.03.2011 / 15:24
7
respostas

Substituição dupla e tripla em bash e zsh

Acompanhe a parte em segundo plano em esta pergunta . Em bash , posso usar ${!FOO} para substituição dupla, em zsh ${(P)FOO} . Em ambos, o old-school (hack-y) eval \$$FOO funciona. Então, a coisa mais inteligente e lógica par...
15.03.2013 / 12:09
1
resposta

Por que a expansão de variáveis sem $ funciona em expressões?

#!/bin/bash VALUE=10 if [[ VALUE -eq 10 ]] then echo "Yes" fi Para minha surpresa, isso gera "Sim". Eu teria esperado que isso exigisse [[ $VALUE -eq 10 ]] . Eu verifiquei a seção CONDITIONAL EXPRESSIONS de man bash , mas não en...
25.05.2012 / 18:13
4
respostas

É possível imprimir o conteúdo do conteúdo de uma variável com script de shell? (referência indireta)

Vamos supor que eu tenha declarado as seguintes variáveis: $ var='$test' $ test="my string" Se eu imprimir seu conteúdo, vejo o seguinte: $ echo $var $test $ echo $test my string Gostaria de encontrar uma maneira de imprimir o con...
30.06.2018 / 00:38
3
respostas

A sintaxe válida “$ {PS1-}” e como ela é diferente da simples “$ PS1”?

Estou vendo um script que tenha: if [ "${PS1-}" ]; then Esse trailing - me incomoda um pouco porque não parece a sintaxe padrão do Posix ou do Bash. É essa sintaxe arcana que existe desde sempre, ou é um erro de digitação? Quaisquer re...
17.03.2017 / 14:46
3
respostas

O bash suporta referências anteriores na expansão de parâmetros?

Eu tenho uma variável chamada descr , que pode conter uma string Blah: -> r1-ae0-2 / [123] , -> s7-Gi0-0-1:1-US / Foo , etc. Eu quero pegar a parte -> r1-ae0-2 , -> s7-Gi0-0-1:1-US da string. No momento eu uso descr=$(gre...
25.04.2017 / 10:46
1
resposta

Veja a expansão das variáveis do Bash para depuração?

Existe alguma ferramenta / truque disponível para expandir variáveis para facilitar a leitura do código bash? Por exemplo, ele converteria o seguinte: DIR=/var/tmp FILE=${DIR}/file SCRIPT_ROOT=/opt/root TOOL=${SCRIPT_ROOT}/tool.sh ${TOOL}...
07.07.2016 / 23:55