Πώς να ελέγξετε εάν υπάρχει αρχείο στο bash

How Check If File Exists Bash



Υπάρχουν διάφοροι τρόποι για να ελέγξετε τη διαθεσιμότητα ενός αρχείου στο Linux. Η εντολή δοκιμής στη δέσμη ενεργειών bash είναι μία από τις βασικές προσεγγίσεις για τον έλεγχο της ύπαρξης ενός αρχείου.
Το επίκεντρο αυτού του οδηγού είναι να συζητήσει την ύπαρξη ενός αρχείου στο σύστημά σας μέσω δέσμης ενεργειών bash:

Πώς να ελέγξετε την ύπαρξη αρχείου χρησιμοποιώντας δέσμες ενεργειών bash:

1) Εισάγοντας το όνομα του αρχείου στο τερματικό:







Πρώτον, πρέπει να δημιουργήσουμε ένα αρχείο δέσμης ενεργειών bash, να χρησιμοποιήσουμε την παρακάτω εντολή:



$αφήtestfile.sh

Το όνομα του αρχείου που δημιούργησα είναι testfile.sh, η επέκταση .sh υποδεικνύει το αρχείο δέσμης ενεργειών κελύφους:







Ανοίξτε το testfile.sh σε οποιοδήποτε πρόγραμμα επεξεργασίας κειμένου. Στη συνέχεια, γράψτε το σενάριο, αποθηκεύστε το πατώντας αποθήκευση.

Ένας τρόπος είναι να βρείτε ένα αρχείο ζητώντας ένα όνομα αρχείου από τον χρήστη στο τερματικό.



Χρήση -φά για να ελέγξετε την ύπαρξη του αρχείου.

Γράψτε το παρακάτω σενάριο:

#!/bin/bash
πέταξε έξω 'Εισαγάγετε το όνομα αρχείου σας'
ανάγνωσηnewfile1
αν [ -φά '$ newfile1' ]
τότε
πέταξε έξω 'Το αρχείο βρέθηκε'
αλλού
πέταξε έξω 'Το αρχείο δεν βρέθηκε'
είναι

Επιστρέψτε στο τερματικό και εκτελέστε το αρχείο για εκτύπωση εξόδου:

Το/όνομα αρχείου.σ

Το μήνυμα άρνησης άδειας θα εμφανιστεί στο τερματικό.

Κάντε το εκτελέσιμο εκτελώντας την παρακάτω εντολή:

$chmod+ x testfile.sh

Εισαγάγετε το όνομα του αρχείου και θα εκτυπώσει την έξοδο:

2) Εισάγοντας το όνομα του αρχείου ενώ γράφετε το σενάριο:
Ένας άλλος τρόπος για να βρείτε ένα αρχείο δίνοντας το όνομα του αρχείου ενώ γράφετε το σενάριο. Έχουμε τρεις τρόπους για να ελέγξουμε τη διαθεσιμότητα του αρχείου. Το πρώτο χρησιμοποιεί την εντολή δοκιμής, το δεύτερο χρησιμοποιεί εάν με μια έκφραση σε αγκύλες, και το τρίτο είναι επίσης με αν αλλά διπλά αγκύλες όπως υποδεικνύεται παρακάτω:

  1. δοκιμαστική ΕΚΦΡΑΣΗ.
  2. αν [ΕΚΦΡΑΣΗ]
  3. αν [[ΕΚΦΡΑΣΗ]]

Ας το καταλάβουμε με παραδείγματα:

1) δοκιμή [Έκφραση]
Αντιγράψτε το δεδομένο σενάριο και επικολλήστε το στον επεξεργαστή, αποθηκεύστε το:

#!/bin/bash
όνομα αρχείου= αρχείο1
αν δοκιμή -φά '$ όνομα αρχείου'?
τότε
πέταξε έξω '$ αρχείοέχει βρει.'
αλλού
πέταξε έξω '$ αρχείοδεν βρέθηκε »
είναι

Παραγωγή:

Καθώς δεν υπάρχει τέτοιο αρχείο στον κατάλογό μου, επομένως ο κώδικας εμφανίζει το μήνυμα Το αρχείο δεν βρέθηκε.

2) εάν [Έκφραση]

Αντιγράψτε το ακόλουθο σενάριο για να ελέγξετε εάν το αρχείο υπάρχει ή όχι:

#!/bin/bash
όνομα αρχείου= myfile.txt
αν [ -φά '$ όνομα αρχείου' ]?
τότε
πέταξε έξω '$ όνομα αρχείουέχει βρει.'
αλλού
πέταξε έξω 'το όνομα αρχείου δεν βρέθηκε'
είναι

Παραγωγή:

3) εάν [[Έκφραση]]

Αντιγράψτε το παρακάτω γραμμένο σενάριο και επικολλήστε το στο τερματικό:

#!/bin/bash
όνομα αρχείου= testfile
αν [[ -φά '$ όνομα αρχείου' ]]?
τότε
πέταξε έξω '$ όνομα αρχείουέχει βρει.'
αλλού
πέταξε έξω '$ όνομα αρχείουδεν βρέθηκε »
είναι

Παραγωγή:

Για να ελέγξετε τον κατάλογο:

3) Εισάγοντας το όνομα του καταλόγου ενώ γράφετε ένα σενάριο

Χρησιμοποιήστε το -ρε σημαία για να ελέγξετε την ύπαρξη ενός καταλόγου.

Στο παρακάτω σενάριο, dir11 είναι η μεταβλητή στην οποία αποθηκεύετε το αρχείο αυτό που βρίσκετε. σε αυτό το παράδειγμα, θέλω να ελέγξω το όνομα καταλόγου testDir υπάρχει ή όχι.

#!/bin/bash
dir11= testDir
αν [ -ρε '$ dir11' ]
τότε
πέταξε έξω 'Ο κατάλογος βρέθηκε'
αλλού
πέταξε έξω 'Ο κατάλογος δεν βρέθηκε'
είναι

Παραγωγή:

2) Εισάγοντας το όνομα του αρχείου στο τερματικό:
Όταν εκτελείτε την εντολή στο τερματικό για να ελέγξετε εάν ο κατάλογος υπάρχει ή όχι, απαιτείται να εισαγάγετε το όνομα του καταλόγου που αναζητάτε:

#!/bin/bash
πέταξε έξω 'πληκτρολογήστε το όνομα του καταλόγου σας.'
ανάγνωσηDir1
αν [ -ρε 'Dir1' ]
τότε
πέταξε έξω 'βρέθηκε κατάλογος'
αλλού
πέταξε έξω 'Ο κατάλογος δεν βρέθηκε'
είναι

Παραγωγή:

Έλεγχος του αρχείου χωρίς τη χρήση της δήλωσης if:

Η εντολή δοκιμής μπορεί να εκτελεστεί χωρίς τη δήλωση if. Θα εμφανίσει έξοδο μόνο εάν υπάρχει το αρχείο. αλλιώς, δεν θα υπάρχει έξοδος:

Γράψτε σενάριο:

  1. δοκιμή -φάmyfile.txt&& πέταξε έξω 'βρέθηκε αρχείο'

  2. [ -φάmyfile.txt] && πέταξε έξω '$ αρχείοβρέθηκε.'

  3. [[ -φάmyfile.txt]] && πέταξε έξω '$ αρχείοβρέθηκε.'

Παραγωγή:

Έλεγχος του καταλόγου χωρίς τη χρήση της δήλωσης if:

Χρησιμοποιήστε τις παρακάτω προτάσεις για να ελέγξετε εάν υπάρχει ή όχι ένας κατάλογος:

  1. [[ -ρεtestDir]] && πέταξε έξω 'ο κατάλογος υπάρχει'

  2. 2) [ -ρεtestDir] && πέταξε έξω 'ο κατάλογος υπάρχει'

Παραγωγή:

Έλεγχος πολλών αρχείων/καταλόγων:

1) Έλεγχος πολλών αρχείων με δηλώσεις if:
Χρησιμοποιήστε τη σημαία -a για να ελέγξετε την ύπαρξη διαφόρων αρχείων αντί να χρησιμοποιήσετε ένθετες προτάσεις if/else:

#!/bin/bash
αν [ -φάnew_file.txt-προς το -φάnewfile.txt]?τότε
πέταξε έξω 'Και τα δύο αρχεία υπάρχουν.'
είναι

Ένας άλλος τρόπος είναι:

#!/bin/bash
αν [[ -φάnew_file.txt&& -φάnewfile.txt]]?τότε
πέταξε έξω 'Και τα δύο αρχεία υπάρχουν.'
είναι

Παραγωγή:

2) Έλεγχος πολλών αρχείων χωρίς τη χρήση της δήλωσης if:
Χρησιμοποιήστε την ακόλουθη δήλωση για να ελέγξετε πολλά αρχεία ταυτόχρονα 1 χωρίς να χρησιμοποιείτε εάν:

  1. [[ -φάnew_file.txt&& -φάnewfile.txt]] && πέταξε έξωΚαι τα δύο αρχεία εξέρχονται.

  2. [[ -φάnew_file.txt&& -φάnewfile.txt]] && πέταξε έξωΚαι τα δύο αρχεία εξέρχονται.

Παραγωγή:

Συμπέρασμα:

Αυτό το άρθρο έχει δείξει πώς να χρησιμοποιείτε τη δέσμη ενεργειών bash για να ελέγξετε ένα αρχείο ή έναν κατάλογο. Χρησιμοποιήσαμε διαφορετικές επιλογές για να ελέγξουμε τη διαθεσιμότητα ενός αρχείου. Πρώτον, χρησιμοποιούμε την εντολή δοκιμής με διαφορετικές σημαίες. Στη συνέχεια μάθαμε τη χρήση του if, ένθετο εάν-άλλο, και χωρίς τις δηλώσεις if για έλεγχο του αρχείου ή του καταλόγου. Εξετάσαμε επίσης τον τρόπο ελέγχου πολλών αρχείων ή καταλόγων.