O script shell sai sem avaliar se a condição

1

Eu tenho os seguintes comandos no meu script de shell

#This line basically builds a source library
$BUILD_CMD $CONFIGFILES/$1.prj $BUILDFILESPATH 

if [ $? -eq 0 ];then
   echo "Build success\n"
   #do something here
else
   echo "Build Failure\n"
   #do something else here
fi

A compilação falha, no entanto, a condição if não é avaliada e não faz eco de uma "Falha de compilação". O script apenas sai após a linha de comando de compilação. Alguma idéia?

    
por Arkantos 31.07.2014 / 17:47

1 resposta

0

É possível que a opção de construção falhe, mas o script python não retorna um código de erro.

Portanto, você precisa usar o método sys.exit() no script python. (O argumento para esse método é retornado ao ambiente como o código de saída).

Pesquise o ponto no script onde você compila e, a partir do código do script, você pode achar mais fácil aumentar uma exceção ou para usar um status de saída.

Se você precisar indicar um erro em python, poderá criar uma exceção no script ou usar o status de saída. Veja um exemplo deste wiki )

Você pode achar útil:

por Hastur 01.08.2014 / 09:09