2017-03-05 2 views
0

Je voudrais écrire un script Bash qui exécute certaines opérations après un javac, en fonction de la présence ou non d'erreurs de compilation. En fait, s'il y a au moins une erreur, ces opérations ne seront pas exécutées. Sinon, ils le feront.Est-il possible d'obtenir le nombre d'erreurs de javac?

J'ai essayé de faire quelque chose comme ça, mais cela n'a pas fonctionné:

javac_return=`javac [...] -d ../class` 
if [ javac_return -eq 0 ] 
then 
# operations 
fi 
+0

'javac ... || {echo "Echec de la compilation"> & 2; Sortie; } 'quittera votre script avec une erreur si' javac' échoue. Est-ce que c'est ce que tu veux? –

Répondre

2

pour la valeur d'une variable bash vous devez utiliser $. Toutefois, le code d'état n'est pas renvoyé en tant que sortie.

vous pouvez le faire, mais

if javac [...] -d ../class; 
then 
# next command 
else 
# error handling 
fi 

ou, avec l'idiome enchaînant commande

command && next_command_if_succeeded || or_if_failed 
+0

Avez-vous oublié '$' avant 'status' (c'est-à-dire:' if [$ status] ')? –

+1

drôle, c'était exactement mon commentaire! – karakfa