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
- Holde Ctrl + Alt taster og tryk på T at åbne Terminal .
- 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.
- 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
- 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
- Holde Ctrl + Alt taster og tryk på T at åbne Terminal .
- 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.
- 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