echo $? não funciona quando executado remotamente

3

Quando executo um comando como abaixo, ele me fornece uma saída como esperado, mas quando executo o mesmo comando no servidor remoto, ele sempre me fornece echo $? as 0 .

locally
# <some command>
# echo $?

Remotely
# ssh server " <some command >; echo $? "

Agora, no caso de execução remota, eu sempre recebo 0 como echo $? output.

    
por user154645 16.01.2013 / 08:33

1 resposta

10

O $? é avaliado antes de o comando ser enviado para a máquina remota. Efetivamente, você está enviando o comando echo 0 . Experimente

ssh server ' <some command >; echo $? '

Como Michael Hampton aponta, as aspas simples impedem a avaliação de variáveis, etc., antes de enviá-las ao comando remoto, enquanto as aspas duplas permitem isso.

    
por 16.01.2013 / 08:39