Kako postupati s prosljeđivanjem imena datoteka s razmacima u Bashu



Isprobajte Naš Instrument Za Uklanjanje Problema

Linux ima zadanu ljusku Bash (aka Bourne opet ljusku) za izvršavanje naredbi za sustav. Većina programera više voli bash nego cmd zbog fleksibilnosti i moćnog tumača naredbenog retka koji bash pruža. Međutim, većina će korisnika i dalje imati problema dok pokušavaju obraditi imena datoteka s razmacima u bashu. To je zato što se razmaci u bashu ne smatraju istim kao u imenima datoteka.



Datoteke s razmacima u imenu



Zašto Bash ne prepoznaje naziv datoteke s razmacima?

U Bashu ako upišete više riječi bez pobjeći znak () ili citati , sve će riječi smatrati argumentima. To vrijedi za sve operacije, bez obzira mijenjate li direktorij s ' CD 'Ili pokušavate pristupiti datotekama pomoću' mačka ‘Naredbe. Sve što napišete nakon što ih upotrijebite smatrat će se argumentom. Na primjer:



naziv mačke datoteke.txt

Pokretanje naredbe bez korištenja escape znaka ili citata

Bilješka : Vaš naziv datoteke može biti bilo koji, ali za ovaj ćemo članak koristiti ' naziv datoteke.txt ' kao primjer.

Ovdje mačka ‘Zapovjedništvo će razmotriti datoteka i Ime kao dva argumenta, a ne kao jedan argument. Međutim, ako koristite znak za bijeg ili citate, bash ljuska će to smatrati jednim argumentom, koji će biti ' naziv datoteke.txt '.



Naziv datoteke s razmacima u Bashu

Postoji nekoliko metoda koje se mogu koristiti za razmake u imenu. Najbolja praksa je izbjegavanje prostora za nazive datoteka u budućnosti. Jednostavna metoda bit će preimenovanje datoteke kojoj pokušavate pristupiti i uklanjanje razmaka. Neke druge metode koriste jednostruke ili dvostruke navodnike na nazivu datoteke s razmacima ili koriste pobjegajući znak () neposredno ispred razmaka. Pružit ćemo metode s primijenjenim primjerima kako bismo vam pokazali kako to funkcionira.

Metoda 1: Korištenje jednostrukih i dvostrukih citata

  1. Stani Ctrl + Alt tipke i Pritisnite T otvoriti Terminal .
  2. Sada promijenite direktorij na mjesto gdje se datoteka nalazi.
    (također možete opterećenje i pad datoteka u terminalu nakon naredbe ‘ mačka ‘, Koji će automatski staviti citate na putanju datoteke / direktorij)

    cd radna površina

    Promjena direktorija

    Bilješka : Radnu površinu možete promijeniti na mjesto kojem pokušavate pristupiti.

  3. Upišite sljedeću naredbu za čitanje tekstualne datoteke s razmacima u imenu:
    mačka 'naziv datoteke.txt'

    ili

    mačka 'naziv datoteke.txt'

    Upotreba navodnika kako bi se izbjegli razmaci u pogrešci imena

  4. Jednostruki i dvostruki citati rezultirat će istim. U nekim slučajevima morate isprobati oboje i vidjeti koji djeluje.

2. metoda: Korištenje znaka bijega od zazora

  1. Stani Ctrl + Alt tipke i Pritisnite T otvoriti Terminal .
  2. Promijenite direktorij u mjesto gdje se datoteka nalazi pomoću sljedeće naredbe.
    cd radna površina

    Bilješka : Postavite ime svog mjesta umjesto radne površine.

  3. Sada upišite naredbu i koristite pobjeći znak bilo gdje ima mjesta u imenu:
    mačka datoteka  name.txt

    Upotreba escape znaka za izbjegavanje razmaka

Bonus: Korištenje ponuda i bijeg

Ponekad kada koristite direktorij u naredbi, može doći do posljedica korištenja citata na ukupnom putu. To je zato što neke naredbe poput ' mv ' ili ' k.č. 'Smatrat će put kao izvor datoteke ako se citat koristi u cjelini. Morate navesti ponude za oboje izvor i odredište pojedinačno, tako da naredbe poput ' k.č. 'Može raditi ispravno. Također možete provjeriti primjer u nastavku koji će vam pokazati da je korištenje Escape znaka za putanju mnogo složenije i korisnici mogu pogriješiti s njim.

Razlika između citata i bijega

2 minute čitanja