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



Δοκιμάστε Το Όργανο Μας Για Την Εξάλειψη Των Προβλημάτων

Το Linux έχει ένα προεπιλεγμένο κέλυφος Bash (γνωστό και ως κέλυφος Bourne ξανά) για την εκτέλεση εντολών για το σύστημα. Οι περισσότεροι προγραμματιστές προτιμούν bash έναντι cmd λόγω της ευελιξίας και του ισχυρού διερμηνέα γραμμής εντολών που παρέχει το 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 'name file.txt'

    Χρήση εισαγωγικών για αποφυγή κενών στο σφάλμα ονόματος

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

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

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

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

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

    Χρήση χαρακτήρα διαφυγής για την αποφυγή σφάλματος διαστήματος

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

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

Η διαφορά μεταξύ εισαγωγικών και χαρακτήρα διαφυγής

2 λεπτά ανάγνωση