Kako postupati sa prosljeđivanjem imena datoteka s razmacima u bashu

Linux ima zadanu ljusku Bash (aka Bourne opet ljuska) za izvršavanje naredbi za sustav. Većina programera preferira bash preko cmd-a zbog fleksibilnosti i moćnog interpretatora naredbenog retka koji bash pruža. Međutim, većina će korisnika i dalje imati problema dok pokušava riješiti prolazne datoteke s razmacima u bash-u. To je zato što se razmaci ne smatraju istim u bashu kao u imenima datoteka.

Datoteke s razmacima u imenu

Zašto Bash ne prepoznaje naziv datoteke s razmacima?

Ako u Bash unesete više riječi bez znaka bijega (\) ili citate, sve će riječi smatrati argumentima. To se odnosi na sve operacije, bilo da mijenjate direktorij s " cd " ili pokušavate pristupiti datotekama sa " cat " naredbama. Sve što napišete nakon korištenja smatrat će se argumentom. Na primjer:

 ime datoteke mačke.txt 

Izvođenje naredbe bez korištenja znaka bijega ili citata

Napomena : Naziv vaše datoteke može biti bilo što, osim za ovaj članak, kao primjer ćemo koristiti naziv datoteke.txt .

Ovdje će naredba ' cat ' datoteku i ime smatrati dvama argumentima, a ne jednim argumentom. Međutim, ako koristite znak ili citate za bijeg, bash shell će to smatrati jedinstvenim argumentom, a to će biti "naziv datoteke.txt ".

Naziv datoteke s razmacima na bashu

Malo je metoda koje se mogu koristiti za razmake u nazivu. Najbolja praksa je izbjegavanje razmaka za imena datoteka u budućnosti. Jednostavna metoda bit će preimenovanje datoteke kojoj pokušavate pristupiti i ukloniti razmake. Neke se druge metode koriste jednim ili dvostrukim navodima na nazivu datoteke s razmacima ili upotrebom znaka escape (\) neposredno prije razmaka. Pružit ćemo metode primijenjenim primjerima kako bismo vam pokazali kako to funkcionira.

1. metoda: Upotreba pojedinačnih i dvostrukih navodnika

  1. Držite Ctrl + Alt tipke i pritisnite T da otvorite Terminal .
  2. Sada promijenite imenik u mjestu gdje se datoteka nalazi.

    (možete povući i ispustiti datoteku u terminalu nakon naredbe ' cat ', koja će automatski staviti navodnike na put / direktorij datoteke)

     cd Desktop 

    Promjena imenika

    Napomena : Desktop se može promijeniti na mjesto kojemu pokušavate pristupiti.

  3. Unesite sljedeću naredbu da biste pročitali tekstualnu datoteku s razmacima u imenu:
     mačka 'ime datoteke.txt' 

    ili

     mačka "naziv datoteke.txt" 

    Upotreba navoda za izbjegavanje razmaka u pogrešci imena
  4. Pojedinačne i dvostruke ponude rezultirat će istim. U nekim slučajevima trebate isprobati i jedno i vidjeti koji od njih djeluje.

Druga metoda: Korištenje znaka za izbjegavanje pozadine

  1. Držite Ctrl + Alt tipke i pritisnite T da otvorite Terminal .
  2. Pomoću sljedeće naredbe promijenite direktorij u mjestu gdje se datoteka nalazi.
     cd Desktop 

    Napomena : naziv svoje lokacije stavite na radnu površinu.

  3. Sada upišite naredbu i upotrijebite znak za bijeg gdje god u mjestu ima mjesta:
     mačka datoteka \ name.txt 

    Koristite znak za bijeg da biste izbjegli pogrešku u razmaku

Bonus: upotreba citata i bijeg

Ponekad kada koristite direktorij u naredbi, mogu postojati posljedice za upotrebu navodnika na cjelokupnom putu. To je zato što će neke naredbe poput ' mv ' ili ' cp ' stazu smatrati izvorom datoteka ako se citat koristi u cjelini. Trebate navesti citate i za izvor i za odredište kako bi naredbe poput " cp " mogle ispravno raditi. Također možete provjeriti primjer u nastavku koji će vam pokazati da je korištenje znaka bijega za put mnogo složenije i korisnici mogu pogriješiti s njim.

Razlika između citata i znaka bijega

Zanimljivi Članci