Πώς να ελέγξετε την ύπαρξη ορίσματος εισόδου σε ένα σενάριο Bash Shell

Pos Na Elenxete Ten Yparxe Orismatos Eisodou Se Ena Senario Bash Shell



Το script shell Bash είναι ένα ισχυρό εργαλείο για την αυτοματοποίηση επαναλαμβανόμενων εργασιών και την εκτέλεση πολύπλοκων λειτουργιών στη γραμμή εντολών. Μία από τις θεμελιώδεις έννοιες στο shell scripting είναι η αποδοχή ορισμάτων εισόδου από τον χρήστη ή από άλλα σενάρια. Όταν ασχολούμαστε με ορίσματα εισόδου, είναι απαραίτητο να ελέγξετε εάν το όρισμα εισόδου υπάρχει ή όχι για να αποφύγετε απροσδόκητη συμπεριφορά στο σενάριο. Αυτό το άρθρο θα συζητήσει διάφορους τρόπους ελέγχου της ύπαρξης ορισμάτων εισόδου σε ένα σενάριο κελύφους Bash.

Πώς να ελέγξετε την ύπαρξη ορίσματος εισόδου σε ένα σενάριο Bash Shell

Υπάρχουν τρεις διαφορετικοί τρόποι:

  1. Χρησιμοποιώντας την εντολή 'test'.
  2. Χρησιμοποιώντας τη μεταβλητή '$#'.
  3. Χρησιμοποιώντας την επιλογή '-n'.

Μέθοδος 1: Χρήση της Εντολής 'test'.

Η εντολή 'test', γνωστή και ως εντολή '[', είναι μια ενσωματωμένη εντολή στο Bash που ελέγχει διάφορες συνθήκες. Μία από τις προϋποθέσεις που μπορούμε να δοκιμάσουμε χρησιμοποιώντας την εντολή “test” είναι αν υπάρχει ή όχι μια μεταβλητή. Ακολουθεί ένα παράδειγμα κώδικα για να ελέγξετε εάν υπάρχει όρισμα εισαγωγής χρησιμοποιώντας την εντολή 'test':







#!/bin/bash

αν [ -Με '$1' ]

έπειτα

ηχώ 'Λείπει το όρισμα εισαγωγής.'

έξοδος 1

είναι

ηχώ 'Υπάρχει όρισμα εισαγωγής.'

Εδώ η επιλογή '-z' χρησιμοποιείται με την εντολή 'test' για να ελεγχθεί εάν το όρισμα εισόδου είναι κενή συμβολοσειρά ή όχι. Το σενάριο θα βγάλει ένα μήνυμα σφάλματος και θα εξέλθει με κωδικό κατάστασης 1 εάν το όρισμα εισόδου είναι κενή συμβολοσειρά. Διαφορετικά, το σενάριο θα συνεχίσει να εκτελείται, παρακάτω έχω δώσει και όρισμα εισαγωγής για τον κώδικα, ώστε να εμφανίζει το μήνυμα ύπαρξης εισαγωγής ορίσματος:





Μέθοδος 2: Χρήση της μεταβλητής '$#'.

ο '$#' Η μεταβλητή αποθηκεύει τον αριθμό των ορισμάτων εισόδου που διαβιβάζονται σε ένα σενάριο. Εάν το σενάριο αναμένει τουλάχιστον ένα όρισμα εισαγωγής, μπορούμε να ελέγξουμε αν το '$#' η μεταβλητή είναι μεγαλύτερη από το μηδέν. Ακολουθεί ένα παράδειγμα κώδικα για να ελέγξετε εάν υπάρχει τουλάχιστον ένα όρισμα εισαγωγής χρησιμοποιώντας το '$#' μεταβλητός:





#!/bin/bash

αν [ $# -εξ 0 ]

έπειτα

ηχώ 'Λείπει το όρισμα εισαγωγής.'

έξοδος 1

είναι

ηχώ 'Υπάρχει όρισμα εισαγωγής.'

Εδώ το '-eq' Ο χειριστής χρησιμοποιείται για να ελέγξει εάν το '$#' η μεταβλητή είναι ίση με μηδέν ή όχι και εάν η μεταβλητή '$#' είναι ίση με μηδέν, η δέσμη ενεργειών θα εμφανίσει ένα μήνυμα σφάλματος και θα εξέλθει με κωδικό κατάστασης 1. Διαφορετικά, η δέσμη ενεργειών θα συνεχίσει να εκτελείται, παρακάτω έχω δώσει και εισάγω όρισμα για τον κώδικα ώστε να εμφανίζει το μήνυμα ύπαρξης εισαγωγής ορίσματος:



Μέθοδος 3: Χρησιμοποιώντας την επιλογή '-n'.

ο '-n' Η επιλογή χρησιμοποιείται για να ελέγξει εάν μια μεταβλητή δεν είναι κενή. Μπορούμε να χρησιμοποιήσουμε αυτήν την επιλογή για να ελέγξουμε εάν το όρισμα εισόδου υπάρχει ή όχι. Παρακάτω έχω δώσει ένα παράδειγμα κώδικα που ελέγχει εάν υπάρχει όρισμα εισαγωγής χρησιμοποιώντας το '-n' επιλογή:

#!/bin/bash

αν [ -n '$1' ]

έπειτα

ηχώ 'Υπάρχει όρισμα εισαγωγής.'

αλλού

ηχώ 'Λείπει το όρισμα εισαγωγής.'

έξοδος 1

είναι

Εδώ, το '-n' Η επιλογή χρησιμοποιείται για να ελέγξει εάν το όρισμα εισαγωγής δεν είναι κενό και εάν το όρισμα εισόδου δεν είναι κενό, το σενάριο θα εμφανίσει ένα μήνυμα επιτυχίας. Διαφορετικά, το σενάριο θα εμφανίσει ένα μήνυμα σφάλματος και θα εξέλθει με κωδικό κατάστασης 1, παρακάτω έχω παράσχει και όρισμα εισαγωγής για τον κώδικα, ώστε να εμφανίζει το μήνυμα ύπαρξης εισαγωγής ορίσματος:

συμπέρασμα

Στο σενάριο φλοιού, ο έλεγχος της ύπαρξης ορισμάτων εισόδου είναι ένα ουσιαστικό βήμα για να διασφαλιστεί ότι το σενάριο εκτελείται όπως αναμένεται. Μπορούμε να χρησιμοποιήσουμε διαφορετικές τεχνικές για να ελέγξουμε την ύπαρξη ορισμάτων εισόδου, όπως η χρήση της εντολής 'test', της μεταβλητής '$#' ή της επιλογής '-n'. Εφαρμόζοντας αυτές τις τεχνικές, δημιουργούμε πιο ισχυρά και αξιόπιστα σενάρια φλοιού που μπορούν να χειριστούν ορίσματα εισόδου.