Πώς να χειριστείτε τα ονόματα αρχείων που περνούν με Spaces στο Bash

Το Linux διαθέτει ένα προεπιλεγμένο κέλυφος Bash (γνωστό και ως Bourne ξανά shell) για την εκτέλεση εντολών για το σύστημα. Οι περισσότεροι προγραμματιστές προτιμούν bash έναντι cmd λόγω της ευελιξίας και του ισχυρού διερμηνέα γραμμής εντολών που παρέχει το bash. Ωστόσο, οι περισσότεροι χρήστες θα εξακολουθούν να έχουν προβλήματα κατά την προσπάθεια χειρισμού των ονομάτων αρχείων που περνούν με κενά στο bash. Αυτό συμβαίνει επειδή τα κενά δεν θεωρούνται τα ίδια στο bash με αυτά στα ονόματα αρχείων.

Γιατί το όνομα αρχείου με το Spaces δεν αναγνωρίζεται από το Bash;

Στο Bash, εάν πληκτρολογείτε πολλές λέξεις χωρίς διαφυγή χαρακτήρας (\) ή αποσπάσματα, θα θεωρήσει όλες τις λέξεις ως επιχειρήματα. Αυτό ισχύει για όλες τις λειτουργίες, είτε αλλάζετε τον κατάλογο με «CD"Ή προσπαθείτε να αποκτήσετε πρόσβαση σε αρχεία με"Γάτα«Εντολές. Οτιδήποτε γράφετε μετά τη χρήση αυτών θα θεωρείται ως επιχείρημα. Για παράδειγμα:

όνομα αρχείου cat.txt

Σημείωση: Το όνομα του αρχείου σας μπορεί να είναι οτιδήποτε, εκτός από αυτό το άρθρο, θα χρησιμοποιούμε "όνομα αρχείου.txtΩς παράδειγμα.

Εδώ 'Γάτα«Η εντολή θα εξετάσει αρχείο και όνομα ως δύο επιχειρήματα αντί για ένα μόνο επιχείρημα. Ωστόσο, εάν χρησιμοποιείτε χαρακτήρα διαφυγής ή εισαγωγικά, τότε το bash shell θα το θεωρήσει ως ένα μόνο όρισμα, το οποίο θα είναι το "όνομα αρχείου.txt“.

Όνομα αρχείου με Spaces στο Bash

Υπάρχουν λίγες μέθοδοι που μπορούν να χρησιμοποιηθούν για τα κενά στο όνομα. Η βέλτιστη πρακτική είναι η αποφυγή διαστημάτων για ονόματα αρχείων στο μέλλον. Μια απλή μέθοδος θα είναι να μετονομάσετε το αρχείο στο οποίο προσπαθείτε να αποκτήσετε πρόσβαση και να αφαιρέσετε κενά. Ορισμένες άλλες μέθοδοι χρησιμοποιούν μεμονωμένα ή διπλά εισαγωγικά στο όνομα του αρχείου με κενά ή χρησιμοποιώντας το σύμβολο διαφυγής (\) ακριβώς πριν από το διάστημα. Θα παρέχουμε μεθόδους με εφαρμοσμένα παραδείγματα για να σας δείξουμε πώς λειτουργεί.

Μέθοδος 1: Χρήση μεμονωμένων και διπλών εισαγωγικών

  1. Κρατήστε Ctrl + Alt πλήκτρα και πατήστε Τ για να ανοίξω Τερματικό.
  2. Τώρα αλλάξτε τον κατάλογο όπου βρίσκεται το αρχείο.

    (μπορείτε επίσης να σέρνω και πτώση το αρχείο στο τερματικό μετά την εντολή «Γάτα«, Το οποίο θα βάλει αυτόματα εισαγωγικά στη διαδρομή / τον κατάλογο αρχείων)

    cd Επιφάνεια εργασίας

    Σημείωση: Η επιφάνεια εργασίας μπορεί να αλλάξει στην τοποθεσία στην οποία προσπαθείτε να αποκτήσετε πρόσβαση.

  3. Πληκτρολογήστε την ακόλουθη εντολή για να διαβάσετε ένα αρχείο κειμένου με κενά στο όνομα:
    cat 'name file.txt'

    ή

    cat "όνομα αρχείου.txt"
  4. Μεμονωμένα και διπλά εισαγωγικά θα έχουν το ίδιο αποτέλεσμα. Σε ορισμένες περιπτώσεις, πρέπει να δοκιμάσετε και τα δύο και να δείτε ποια λειτουργεί.

Μέθοδος 2: Χρήση χαρακτήρων διαφυγής Backlash

  1. Κρατήστε Ctrl + Alt πλήκτρα και πατήστε Τ για να ανοίξω Τερματικό.
  2. Αλλάξτε τον κατάλογο όπου βρίσκεται το αρχείο χρησιμοποιώντας την ακόλουθη εντολή.
    cd Επιφάνεια εργασίας

    Σημείωση: Τοποθετήστε το όνομα της τοποθεσίας σας στη θέση του Desktop.

  3. Τώρα πληκτρολογήστε την εντολή και χρησιμοποιήστε διαφυγή χαρακτήρα οπουδήποτε υπάρχει κενό στο όνομα:
    αρχείο γάτας \ name.txt

Μπόνους: Χρήση προσφορών και διαφυγής

Μερικές φορές όταν χρησιμοποιείτε τον κατάλογο στην εντολή, μπορεί να υπάρχουν συνέπειες για τη χρήση εισαγωγικών στη συνολική διαδρομή. Αυτό συμβαίνει επειδή ορισμένες εντολές όπως «mv' ή 'cp«Θα θεωρήσει το μονοπάτι ως πηγή αρχείου εάν η προσφορά χρησιμοποιείται συνολικά. Πρέπει να παρέχετε προσφορές και για τα δύο πηγή και προορισμός μεμονωμένα έτσι ώστε εντολές όπως «cp«Μπορεί να λειτουργήσει σωστά. Μπορείτε επίσης να ελέγξετε το παρακάτω παράδειγμα που θα σας δείξει ότι η χρήση του χαρακτήρα διαφυγής για τη διαδρομή είναι πολύ πιο περίπλοκη και οι χρήστες μπορούν να κάνουν λάθος με αυτό.


$config[zx-auto] not found$config[zx-overlay] not found