Kuidas käsitseda failinimede edastamist tühikutega Bashis



Proovige Meie Instrumenti Probleemide Kõrvaldamiseks

Linuxil on vaikimisi kest Bash (teise nimega Bourne jälle shell) süsteemi käskude täitmiseks. Enamik programmeerijaid eelistab bashi cmd-le, kuna bash pakub paindlikkust ja võimsat käsurea tõlgendust. Kuid enamikul kasutajatel on endiselt probleeme, kui üritatakse toimida failinimede edastamisel tühikutega bashis. Seda seetõttu, et tühikuid ei peeta bashis samaks kui failinimedes.



Failid, mille nimes on tühikud



Miks Bash ei tunnusta failinime tühikutega?

Bashis, kui sisestate mitu sõna ilma põgenema märk () või tsitaadid , võtab ta kõiki sõnu argumentidena. See kehtib kõigi toimingute kohta, olenemata sellest, kas muudate kataloogi CD Või üritab failidele juurde pääseda kass ‘Käsud. Kõike, mida pärast nende kasutamist kirjutate, peetakse argumendiks. Näiteks:



kassifaili nimi.txt

Käsu käivitamine ilma põgenemismärki või tsitaate kasutamata

Märge : Teie failinimi võib olla ükskõik milline, kuid selle artikli puhul kasutame faili nimi.txt ”Näitena.

Siin kass ‘Käsk kaalub faili ja nimi pigem kahe argumendina kui ühe argumendina. Kui aga kasutate põgenemismärki või tsitaate, peab bash shell seda ühe argumendina, mis on faili nimi.txt '.



Failinimi tühikutega Bashis

Nime tühikute jaoks saab kasutada vähe meetodeid. Parim tava on tulevikus failinimede tühikute vältimine. Lihtne meetod on faili, millele proovite juurde pääseda, ümbernimetamine ja tühikute eemaldamine. Mõned muud meetodid kasutavad failinimes tühikute abil ühe- või topeltpakkumisi või sümbolit escape () vahetult enne tühikut. Pakume meetodeid koos rakendatud näidetega, et näidata teile, kuidas see töötab.

1. meetod: ühe- ja topeltpakkumiste kasutamine

  1. Hoidke Ctrl + Alt ja vajutage T avama Terminal .
  2. Nüüd muutke kataloog faili asukohaks.
    (sa saad ka vedama ja tilk fail terminalis pärast käsku kass (Mis paneb tsitaadid automaatselt failiteele / kataloogi)

    cd töölaud

    Kataloogi muutmine

    Märge : Töölaua saab muuta asukohaks, millele proovite juurde pääseda.

  3. Nimes tühikutega tekstifaili lugemiseks tippige järgmine käsk:
    kass 'faili nimi.txt'

    või

    kass 'faili nimi.txt'

    Tsitaatide kasutamine tühikute vältimiseks nimevea korral

  4. Ühe- ja topeltpakkumised toovad kaasa sama. Mõnel juhul peate proovima mõlemat ja vaatama, milline neist töötab.

2. meetod: tagasilöögimärgi kasutamine

  1. Hoidke Ctrl + Alt ja vajutage T avama Terminal .
  2. Järgmise käsu abil muutke kataloog faili asukohaks.
    cd töölaud

    Märge : Sisestage oma asukoha nimi töölaua asemele.

  3. Nüüd tippige käsk ja kasutage põgenema märk kõikjal, kus nimes on ruumi:
    kassifail  name.txt

    Põgenemismärgi kasutamine tühikute vea vältimiseks

Boonus: noteeringute kasutamine ja põgenemine

Mõnikord võib käsus kataloogi kasutamisel olla tsitaatide kasutamisel üldisel teel tagajärgi. Seda seetõttu, et mõned käsud nagu mv Või cp ‘Arvestab teed sellega faili allikas kui tsitaati kasutatakse tervikuna. Peate pakkumisi pakkuma mõlemale allikas ja sihtkoht individuaalselt, nii et käsud nagu cp ‘Saab korralikult töötada. Võite vaadata ka allpool toodud näidet, mis näitab teile, et põgenemismärgi kasutamine tee jaoks on palju keerulisem ja kasutajad saavad sellega eksida.

Tsitaatide ja põgenemistegelase erinevus

2 minutit loetud