J'utilise actuellement cette fonction pour emballer les commandes d'exécution et consigner leur exécution, et le code retour, et quitter en cas de code retour différent de zéro .Quelle est la meilleure façon d'écrire une fonction wrapper qui exécute des commandes et enregistre leur code de sortie
Cependant, ceci est problématique car apparemment, il double l'interpolation, en faisant des commandes avec des guillemets simples ou doubles dans le script.
Pouvez-vous recommander un meilleur moyen?
est ici la fonction:
do_cmd()
{
eval $*
if [[ $? -eq 0 ]]
then
echo "Successfully ran [ $1 ]"
else
echo "Error: Command [ $1 ] returned $?"
exit $?
fi
}
bien. battu moi dans le temps: p –
Bien sûr, 'cmd; si [[$? -eq 0]]; alors stuff est écrit plus idiomatiquement 'if cmd; alors stuff'. – tripleee
Mais le code devrait utiliser $ ret plus tard, de sorte qu'il est plus clair à mon humble avis. –