Περισσότερα
Πώς να κάνετε μια λογική πράξη OR σε shell scripting
Προσπαθώ να κάνω έναν απλό έλεγχο κατάστασης, αλλά δεν φαίνεται να λειτουργεί.
Αν $#
είναι ίσο με 0
ή είναι μεγαλύτερο από 1
τότε πείτε γεια.
Δοκίμασα την ακόλουθη σύνταξη χωρίς επιτυχία:
if [ "$#" == 0 -o "$#" > 1 ] ; then
echo "hello"
fi
if [ "$#" == 0 ] || [ "$#" > 1 ] ; then
echo "hello"
fi
554
3
Αυτό θα πρέπει να λειτουργήσει:
Δεν είμαι σίγουρος αν αυτό είναι διαφορετικό σε άλλα κελύφη, αλλά αν θέλετε να χρησιμοποιήσετε τα , πρέπει να τα βάλετε μέσα σε διπλή παρένθεση όπως παρακάτω:
Αυτός ο κώδικας λειτουργεί για μένα:
Δεν νομίζω ότι η sh υποστηρίζει το "==". Χρησιμοποιήστε το "=" για να συγκρίνετε συμβολοσειρές και το -eq για να συγκρίνετε ints.
για περισσότερες λεπτομέρειες.
έχετε δοκιμάσει κάτι τέτοιο: