a35_13588 Δημοσ. 8 Δεκεμβρίου 2007 Δημοσ. 8 Δεκεμβρίου 2007 Έχω να κάνω μια εργασία σε linux και την τέλειωσα σχεδόν. Το θέμα είναι ότι επειδή έχει να κάνει με μαθηματικά πρέπει κάποια στιγμή (στην αρχή) να ελέγχω αν ο χρήστης δίνει αριθμό όπως πρέπει, για να γίνονται οι πράξεις σωστά. Τι πρέπει να γράψω ακριβώς γιατί δοκίμασα με if και μέσα στη συνθήκη κάποια κανονική έκφραση αλλά μάλλον δεν τη γράφω σωστά.Ευχαριστώ
capthookb Δημοσ. 8 Δεκεμβρίου 2007 Δημοσ. 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 Δημοσ. 23 Δεκεμβρίου 2007 Που έχεις πρόβλημα; Τη λύση στην έδωσε o capthookb.
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.