a35_13588 Δημοσ. 8 Δεκεμβρίου 2007 Share Δημοσ. 8 Δεκεμβρίου 2007 Έχω να κάνω μια εργασία σε linux και την τέλειωσα σχεδόν. Το θέμα είναι ότι επειδή έχει να κάνει με μαθηματικά πρέπει κάποια στιγμή (στην αρχή) να ελέγχω αν ο χρήστης δίνει αριθμό όπως πρέπει, για να γίνονται οι πράξεις σωστά. Τι πρέπει να γράψω ακριβώς γιατί δοκίμασα με if και μέσα στη συνθήκη κάποια κανονική έκφραση αλλά μάλλον δεν τη γράφω σωστά.Ευχαριστώ Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
capthookb Δημοσ. 8 Δεκεμβρίου 2007 Share Δημοσ. 8 Δεκεμβρίου 2007 Χρησιμοποιείς if, συγκρίνεις τη μεταβλητή με τον εαυτό της, αλλά ελέγχεις με τον arithmetic operator (-eq). Οπότε αν ο χρήστης έχει δώσει αριθμό το αποτέλεσμα της σύγκρισης είναι αληθές. Αν δε δώσει αριθμό η σύγκριση δε μπορεί να γίνει και έχουμε σφάλμα (γι' αυτό καλό είναι να βάλουμε 2>/dev/null στη σύγκριση) Παράδειγμα: > #!/bin/bash echo "Enter a number:" read INPUTVAR if [ $INPUTVAR -eq $INPUTVAR 2>/dev/null ]; then echo $INPUTVAR is a number else echo $INPUTVAR is not a number fi exit 0 Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
Manos-Sx Δημοσ. 23 Δεκεμβρίου 2007 Share Δημοσ. 23 Δεκεμβρίου 2007 Που έχεις πρόβλημα; Τη λύση στην έδωσε o capthookb. Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.