acabei de descobrir
default="no parameter provided"
echo ${1:-$default} # in a script
Como isso é chamado? É um embutido? Funciona como parece que funciona?
Responder1
Isso faz parteexpansão de parâmetro shelle está integrado paraqualquer shell POSIX:
${parameter:-word}
Separâmetronão está definida ou é nula, a expansão depalavraé substituído. Caso contrário, o valor deparâmetroé substituído.
No seu exemplo, se ${1}
não for definido ou nulo, seu valor será gerado, caso contrário, o valor de ${default}
será gerado.
Responder2
É Parameter Expansion
, descrito emPágina de manual do Bashque você também pode invocar localmente com man bash
:
${parameter:-word}
Use Default Values. If parameter is unset or null, the
expansion of word is substituted. Otherwise, the value
of parameter is substituted.