2011-10-06 15 views
6

Tengo un script de shell que se ejecuta en mi servidor todos los días. Se hace una limpieza de la casa y se conecta a un servidor remoto para realizar otras tareas, es decir,¿Código de salida de captura para script remoto?

#!/bin/bash 

#do something... 
...locally... 

#run remote script... 
ssh [email protected] "/opt/process/verify.sh" 

exit 

que funciona bien, pero para estar seguro me gustaría capturar (si es posible) el código de retorno de "/ opt/proceso/verificar .sh", es decir

  • si fracasar, volver '1' y enviar correo electrónico a admin
  • si el éxito, el retorno '0' y enviar correo electrónico al desarrollador.

Empecé a leer sobre el comando trap. ¿Puedo usarlo para ese propósito? ¿Hay otra opción?

Respuesta

18

ssh devuelve el valor de retorno del comando en cuestión, o 255 si ocurrió un error en ssh. Simplemente verifique este valor y tome las medidas adecuadas.

5
ssh [email protected] "/opt/process/verify.sh" 
echo $? 

echo $? imprimir código de retorno

8

¿Puede usar los $? variable para obtener el código de respuesta. Por ejemplo:

% ssh somebox /bin/true 
% echo $? 
0 
% ssh somebox /bin/false 
% echo $? 
1 
Cuestiones relacionadas