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.