Vamos esmiuçar o que vc fez:
$ ${param:?palavra}
bash: param: palavra
Nesse exemplo param é o nome de uma variável que, caso não esteja definida,
será dada a msg de erro palavra. Tb poderia ser:
$ : ${param:?A variável \$param não está definida} # Prefiro usar expansão
com um cmd e o cmd : não faz nada
bash: param: A variável $param não está definida
Continuando a resposta se isso estivesse dentro do script chamado scrp.sh a
msg de erro seria:
scrp.sh: param: A variável $param não está definida
Ou seja o primeiro campo é o nome do prog (no prompt é o bash), o segundo o
nome da variável e o terceiro a msg de erro, assim sendo, para fazer sem
expansão de parâmetros (que é mais rápida), vc deveria fazer:
[[ $Parm ]] || echo $0: Parm: MSG DE ERRO >&2
Abraços,
Julio
*» Não tem tempo para fazer um curso presencial?*
*» Na sua cidade não tem nenhum bom curso de Linux?*
*» O treinamento está muito caro?*
*Ministramos um excelente treinamento de Shell,*
*no **formato EAD. **Veja os detalhes aqui.*
<http://www.dicas-l.com.br/programacao-shell-linux/>
*Damos treinamento em sua empresa **com certificado*
*e nota fiscal **por **um preço, **no mÃnimo, 50% **abaixo*
*de qualquer curso.*
ââ
Nosso time de instrutores *in company* é formado somente por
â
â
autores
â â
â
de
*Best Sellersâ â*âlaureados âsobre os temas.. P. exemplo:
Shell básico e Programação em Shell Julio Neves
Bacula Heitor Medrado
Zabbix Adail Host
Produção Gráfica e Videografismo Cadunico
Post by Terminal Root ***@gmail.com [shell-script]Salve, galera!
$ ${param:?palavra}
bash: param: palavra
$ [[ -z "$param" ]] && echo palavra 1>&2
palavra
Queria que saÃsse igual ao padrão: *bash: param: palavra*