Você tem um espaço extra entre status
e =
. Bash atribuições variáveis não precisam ter espaço entre o nome e o =
assinar:
status='echo $?'
O que você escreveu é chamar o comando status
com o único argumento =' echo $?'
.
Tudo isso dito, acho que o que você provavelmente quer escrever é:
status=$?
Isso armazena o valor de $?
na variável status
.
Se o seu código real for um pouco mais complicado e você quiser executar um comando e salvar o valor, use um destes:
status='echo "$?"'
status=$(echo "$?")
Eles usam substituição de comandos para acessar a saída de um comando.