Πραγματοποίηση επιστροφής σεναρίου Bash με διαφορετικούς κωδικούς επιστροφής κατά την έξοδο

Pragmatopoiese Epistrophes Senariou Bash Me Diaphoretikous Kodikous Epistrophes Kata Ten Exodo



Οι κωδικοί εξόδου είναι ακέραιοι αριθμοί που υποδεικνύουν ότι ένα σενάριο έχει εκτελεστεί με επιτυχία. Αυτοί οι κωδικοί είναι επίσης γνωστοί ως κωδικοί επιστροφής ή καταστάσεις εξόδου. Οι κωδικοί εξόδου συνήθως επιστρέφουν μηδέν σε επιτυχή εκτέλεση και μη μηδέν σε ανεπιτυχή εκτέλεση.

Ωστόσο, πολλοί χρήστες σεναρίων Bash θέλουν να επιστρέψουν με διαφορετικούς κωδικούς επιστροφής κατά την έξοδο, αλλά λαμβάνουν σφάλματα. Σε αυτό το σεμινάριο, θα εξηγήσουμε τις διαφορετικές προσεγγίσεις για την επιστροφή ενός σεναρίου Bash με διαφορετικούς κωδικούς επιστροφής κατά την έξοδο.

Το σενάριο Bash επιστρέφει με διαφορετικούς κωδικούς επιστροφής κατά την έξοδο

Πριν προχωρήσουμε στις μεθόδους, ας ρίξουμε μια ματιά στους κωδικούς εξόδου που έχουν συγκεκριμένες έννοιες:







Κωδικοί εξόδου Περιγραφή
0 Το σενάριο εκτελείται με επιτυχία.
1 Το σενάριο εκτελείται με γενικά σφάλματα.
δύο Μη έγκυρη χρήση ορισμένων ενσωματωμένων εντολών στο σενάριο.
126 Εμφανίζει το σφάλμα για την εντολή που καλείται και δεν μπορεί να εκτελεστεί.
127 Η εντολή δεν υπάρχει στο σενάριο.
128 Εμφανίζει τον κωδικό εξόδου εκτός εύρους ή το σήμα θανατηφόρου σφάλματος.
130 CTRL+C τερματίζει το σενάριο.
255 Ένας γενικός κωδικός σφάλματος αποτυχίας του σεναρίου.

Πώς να αποκτήσετε κωδικούς επιστροφής κατά την έξοδο;

Χρειάζεται μόνο να γράψετε το 'echo $?' εντολή για να λάβετε τον κωδικό επιστροφής. Για παράδειγμα, θέλετε να συγκρίνετε δύο αριθμούς χρησιμοποιώντας το ακόλουθο σενάριο Bash:





Μόλις εκτελέσετε το σενάριο στο τερματικό, εκτελέστε το 'echo $?' για να λάβετε τον κωδικό επιστροφής κατά την έξοδο:





. / σύγκριση.sh

ηχώ $;



Το 'comparison.sh' εκτελείται με επιτυχία. Γι' αυτό τα τερματικά εμφανίζουν το μηδέν ως κωδικό επιστροφής. Ομοίως, θα λάβετε μη μηδενικό ως επιτυχής εκτέλεση του σεναρίου. Για παράδειγμα, εάν χρησιμοποιείτε την εντολή Ls αντί της εντολής ls στο σενάριο, μπορεί να λάβετε τον κωδικό μη μηδενικού ως τον κωδικό επιστροφής:

Όπως μπορείτε να δείτε στην προηγούμενη εικόνα, το τερματικό εμφανίζει το 127 ως τον κωδικό επιστροφής επειδή το σενάριο περιείχε τη λάθος εντολή:

Κάντε μια επιστροφή σεναρίου Bash με διαφορετικούς κωδικούς εξόδου

Μπορείτε να ρυθμίσετε μη αυτόματα τους κωδικούς εξόδου στο σενάριο. Για παράδειγμα, εάν θέλετε να λάβετε το 255 ως κωδικό εξόδου, χρησιμοποιήστε το ακόλουθο σενάριο:

Τώρα, εκτελέστε το σενάριο και μετά εκτελέστε το 'echo $?' εντολή για να πάρει το 255 ως κωδικό επιστροφής:

. / σύγκριση.sh

ηχώ $;

συμπέρασμα

Όλα αυτά αφορούν τους κωδικούς εξόδου που μπορεί να λάβετε μετά την εκτέλεση του σεναρίου Bash στο Linux. Οι κωδικοί εξόδου βοηθούν έναν χρήστη να αναγνωρίσει την κατάσταση του σεναρίου Bash. Μπορείτε επίσης να ρυθμίσετε και να χρησιμοποιήσετε μη αυτόματα τους διαφορετικούς κωδικούς επιστροφής. Ως εκ τούτου, μπορείτε να λάβετε έναν μη μηδενικό κωδικό εξόδου αντί για μηδέν, ακόμα κι αν το σενάριο εκτελεστεί με επιτυχία. Αν θέλετε να μάθετε περισσότερα για τα σενάρια Bash, περιηγηθείτε στον επίσημο ιστότοπο μας.