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
- Vydrž Ctrl + Alt tlačidlá a stlačte T na otvorenie Terminál .
- 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.
- 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
- 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
- Vydrž Ctrl + Alt tlačidlá a stlačte T na otvorenie Terminál .
- 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.
- 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é