1. Χρησιμοποιώντας `awk`:
Αυτή είναι μια συνοπτική και αποτελεσματική λύση:
`` `bash
awk '{print ($ 1> $ 2? ($ 1> $ 3; $ 1:$ 3):($ 2> $ 3; $ 2:$ 3))}' <<<"10 5 15"
`` `
* `<<<" 10 5 15 "` Παρέχει τους τρεις αριθμούς ως είσοδο. Αντικαταστήστε αυτά με τους πραγματικούς αριθμούς ή τις μεταβλητές σας.
* Το σενάριο `awk` χρησιμοποιεί ένθετους τριμερούς χειριστές για να συγκρίνει τους αριθμούς αποτελεσματικά.
2. Χρησιμοποιώντας `bash` (με αριθμητική επέκταση):
Αυτό είναι πιο ευανάγνωστο αλλά ελαφρώς λιγότερο συνοπτικό από τη λύση `awk`:
`` `bash
num1 =10
num2 =5
Num3 =15
Greatest =$ ((num1> num2; num1:num2))
Greatest =$ ((Greatest> Num3; Greatest:Num3))
Echo $ Greatest
`` `
Αυτό το σενάριο συγκρίνει πρώτα `num1` και` num2 ', αναθέτοντας το μεγαλύτερο έως το «μεγαλύτερο». Στη συνέχεια, συγκρίνει το "Greatest" με το "Num3", ενημερώνοντας το "Greatest" αν είναι απαραίτητο.
3. Χρησιμοποιώντας `bc` (για αριθμούς κυμαινόμενου σημείου):
Εάν πρέπει να χειριστείτε αριθμούς κυμαινόμενου σημείου, το `BC` (βασικός υπολογιστής) προσφέρει περισσότερη ακρίβεια από την αριθμητική επέκταση του bash:
`` `bash
num1 =10.5
num2 =5.2
Num3 =15.8
Greatest =$ (echo "$ num1> $ num2; $ num1:$ num2" | bc -l | bc -l)
Greatest =$ (echo "$ greatest> $ num3; $ greatest:$ num3" | bc -l)
Echo $ Greatest
`` `
Αυτή η προσέγγιση χρησιμοποιεί `bc -l` (με την επιλογή` -l` για λειτουργίες βιβλιοθήκης μαθηματικών) για συγκρίσεις και υπολογισμούς κυμαινόμενου σημείου. Η διπλή χρήση του `BC` είναι να χειριστεί αποτελεσματικά το ένθετο τριμερές, καθώς το` BC` δεν υποστηρίζει άμεσα τις ένθετες τριμερές εκφράσεις με τον ίδιο τρόπο που κάνει ο Bash.
4. Λειτουργία στο bash:
Για επαναχρησιμοποίηση, δημιουργήστε μια λειτουργία bash:
`` `bash
greatest_of_three () {
num1 =$ 1
num2 =$ 2
num3 =$ 3
Greatest =$ ((num1> num2; num1:num2))
Greatest =$ ((Greatest> Num3; Greatest:Num3))
Echo $ Greatest
}
echo $ (greatest_of_three 10 20 15) # έξοδος:20
`` `
Αυτή η λειτουργία παίρνει τρία επιχειρήματα και επιστρέφει το μεγαλύτερο.
Θυμηθείτε να αντικαταστήσετε τους αριθμούς παραδείγματος με τις πραγματικές σας τιμές. Επιλέξτε τη μέθοδο που ταιριάζει καλύτερα στις ανάγκες σας και το στυλ κωδικοποίησης. Η λύση `awk` προτιμάται γενικά για τη συντομία και την αποτελεσματικότητά της εάν ασχολείστε με ακέραιους αριθμούς, ενώ η προσέγγιση` BC` είναι απαραίτητη για τους αριθμούς κυμαινόμενου σημείου. Η λειτουργία bash παρέχει καλύτερη οργάνωση κώδικα για πιο πολύπλοκα σενάρια.
Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα