Ako zvládnuť odovzdávanie názvov súborov s priestormi v Bash



Vyskúšajte Náš Nástroj Na Odstránenie Problémov

Linux má predvolený shell Bash (alias Bourne opäť shell) na vykonávanie príkazov pre systém. Väčšina programátorov uprednostňuje bash pred cmd kvôli flexibilite a výkonnému tlmočníkovi príkazového riadku, ktorý bash poskytuje. Väčšina používateľov však bude mať stále problémy, keď sa pokúsia zvládnuť odovzdávanie názvov súborov s medzerami v bashe. Je to tak preto, lebo medzery sa v bashe nepovažujú za rovnaké ako v názvoch súborov.



Súbory s medzerami v názve



Prečo Bash nerozpoznáva názov súboru s priestorom?

V bashskom jazyku, ak napíšete viac slov bez uniknúť znak () alebo citácie , bude považovať všetky slová za argumenty. To platí pre všetky operácie, či už meníte adresár pomocou ‘ CD „Alebo sa pokúšam získať prístup k súborom pomocou„ kat „Príkazy. Čokoľvek, čo po použití napíšete, sa bude považovať za argument. Napríklad:



názov súboru mačky.txt

Spustenie príkazu bez použitia únikového znaku alebo ponúk

Poznámka : Váš názov súboru môže byť akýkoľvek, ale pre tento článok nebudeme používať výraz „ názov súboru.txt ' ako príklad.

Tu ' kat „Príkaz zváži spis a názov ako dva argumenty a nie ako jediný argument. Ak však použijete únikový znak alebo citácie, bash shell to bude považovať za jediný argument, ktorým bude „ názov súboru.txt „.



Názov súboru s medzerami v Bashi

Existuje niekoľko metód, ktoré možno použiť pre medzery v názve. Osvedčeným postupom je v budúcnosti vyhnúť sa medzerám pre názvy súborov. Jednoduchou metódou bude premenovanie súboru, ku ktorému sa pokúšate získať prístup, a odstránenie medzier. Niektoré ďalšie metódy používajú jednoduché alebo dvojité úvodzovky v názve súboru s medzerami alebo použitie symbolu escape () priamo pred medzerou. Poskytneme metódy s použitými príkladmi, ktoré vám ukážu, ako to funguje.

Metóda 1: Používanie jednoduchých a dvojitých ponúk

  1. Vydrž Ctrl + Alt tlačidlá a stlačte T na otvorenie Terminál .
  2. Teraz zmeňte adresár na miesto, kde sa nachádza súbor.
    (môžete tiež ťahať a pokles súbor v termináli po príkaze ‘ kat „, Ktorý automaticky umiestni ponuky do cesty / adresára k súboru)

    CD Desktop

    Mení sa adresár

    Poznámka : Desktop je možné zmeniť na umiestnenie, ku ktorému sa pokúšate získať prístup.

  3. Zadajte nasledujúci príkaz na čítanie textového súboru s medzerami v názve:
    mačka 'názov súboru.txt'

    alebo

    mačka 'názov súboru.txt'

    Používanie úvodzoviek, aby sa zabránilo medzerám v chybe názvu

  4. Jednoduché a dvojité ponuky budú mať za následok to isté. V niektorých prípadoch musíte vyskúšať oboje a zistiť, ktorý z nich funguje.

Metóda 2: Použitie znaku úniku vôle

  1. Vydrž Ctrl + Alt tlačidlá a stlačte T na otvorenie Terminál .
  2. Zmeňte adresár na miesto, kde sa nachádza súbor, pomocou nasledujúceho príkazu.
    CD Desktop

    Poznámka : Vložte názov svojej polohy na miesto pracovnej plochy.

  3. Teraz zadajte príkaz a použite uniknúť znak kdekoľvek je v mene medzera:
    mačací súbor  name.txt

    Použitie únikového znaku, aby sa zabránilo chybe medzier

Bonus: Využitie ponúk a únik

Niekedy, keď používate adresár v príkaze, môžu mať dôsledky použitie úvodzoviek na celkovej ceste. Je to preto, lebo niektoré príkazy ako „ mv „Alebo“ cp „Bude považovať cestu za zdroj súboru ak je cenová ponuka použitá ako celok. Musíte poskytnúť ponuky pre obidve zdroj a destinácia jednotlivo, takže príkazy ako ‘ cp „Môže fungovať správne. Môžete tiež skontrolovať príklad uvedený nižšie, ktorý vám ukáže, že použitie únikového znaku pre cestu je oveľa zložitejšie a používatelia sa s ním môžu mýliť.

Rozdiel medzi citáciami a únikovým charakterom

2 minúty prečítané