Sådan håndteres passerende filnavne med mellemrum i Bash



Prøv Vores Instrument Til At Fjerne Problemer

Linux har en standard shell Bash (aka Bourne igen shell) til at udføre kommandoer til systemet. De fleste programmører foretrækker bash frem for cmd på grund af den fleksibilitet og kraftfulde kommandolinjetolker, som bash giver. Imidlertid vil de fleste brugere stadig have problemer, mens de prøver at håndtere passerende filnavne med mellemrum i bash. Dette skyldes, at mellemrum ikke betragtes som de samme i bash, da de er i filnavne.



Filer med mellemrum i navnet



Hvorfor genkendes filnavn med mellemrum ikke af Bash?

I Bash, hvis du skriver flere ord uden flugt tegn () eller tilbud , vil det betragte alle ordene som argumenter. Det gælder for alle operationer, uanset om du skifter bibliotek med ' CD 'Eller forsøger at få adgang til filer med' kat 'Kommandoer. Alt, hvad du skriver efter at have brugt disse, betragtes som et argument. For eksempel:



katfilnavn.txt

Kørsel af kommandoen uden brug af escape-tegn eller citater

Bemærk : Dit filnavn kan være alt andet end til denne artikel bruger vi “ filnavn.txt ' som et eksempel.

Her ' kat 'Kommando vil overveje fil og navn som to argumenter snarere end et enkelt argument. Men hvis du bruger flugttegn eller citater, vil bash shell betragte det som et enkelt argument, som vil være “ filnavn.txt '.



Filnavn med mellemrum i bash

Der er få metoder, der kan bruges til mellemrummet i navnet. Den bedste praksis er at undgå mellemrum til filnavne i fremtiden. En enkel metode vil være at omdøbe den fil, som du prøver at få adgang til og fjerne mellemrum. Nogle andre metoder bruger enkelt eller dobbelt citater på filnavnet med mellemrum eller ved hjælp af escape () symbol lige før pladsen. Vi leverer metoder med anvendte eksempler for at vise dig, hvordan det fungerer.

Metode 1: Brug af enkelt- og dobbelt tilbud

  1. Holde Ctrl + Alt taster og tryk på T at åbne Terminal .
  2. Skift nu mappe til hvor filen er placeret.
    (du kan også træk og dråbe filen i terminalen efter kommandoen “ kat ‘, Som automatisk sætter tilbud på filstien / kataloget)

    cd Desktop

    Skifter bibliotek

    Bemærk : Desktop kan ændres til det sted, du prøver at få adgang til.

  3. Skriv følgende kommando for at læse en tekstfil med mellemrum i navnet:
    kat 'filnavn.txt'

    eller

    kat 'filnavn.txt'

    Brug af tilbud for at undgå mellemrum i navnefejl

  4. Enkelt og dobbelt tilbud vil resultere i det samme. I nogle tilfælde skal du prøve begge og se, hvilken der fungerer.

Metode 2: Brug af Backlash Escape Character

  1. Holde Ctrl + Alt taster og tryk på T at åbne Terminal .
  2. Skift biblioteket, hvor filen er placeret, ved hjælp af følgende kommando.
    cd Desktop

    Bemærk : Sæt dit placeringsnavn i stedet for Desktop.

  3. Skriv nu kommandoen og brug flugt tegn hvor som helst der er plads i navnet:
    kattefil  name.txt

    Brug af escape-karakter for at undgå mellemrumsfejl

Bonus: Brug af tilbud og flugt

Nogle gange, når du bruger biblioteket i kommandoen, kan der være konsekvenser for at bruge tilbud på den samlede sti. Dette skyldes, at nogle kommandoer som ' mv 'Eller' cp 'Vil betragte stien som filkilde hvis tilbuddet bruges i det hele. Du skal give tilbud på begge dele kilde og bestemmelsessted individuelt, så kommandoer som ' cp 'Kan fungere ordentligt. Du kan også tjekke eksemplet nedenfor, der viser dig, at brug af escape-karakter til stien er meget mere kompleks, og brugere kan begå fejl med det.

Forskellen mellem citater og flugtkarakter

2 minutter læst