Как да се справя с предаване на имена на файлове с интервали в Bash
Linux има обвивка по подразбиране Bash (известна още като Bourne отново обвивка), за да изпълнява команди за системата. Повечето програмисти предпочитат bash над cmd поради гъвкавостта и мощен интерпретатор на команден ред, който bash предоставя. Въпреки това, повечето потребители все още ще имат проблеми, докато се опитват да се справят с преминаващи имена с интервали в bash. Това е така, защото интервалите не се считат същите в bash, както са в имената на файловете.
Защо името на файла с пространства не се разпознава от Bash?
В Bash, ако въведете няколко думи без бягство от символа (\) или цитати, той ще разгледа всички думи като аргументи. Това важи за всички операции, независимо дали променяте директория с ' cd ' или се опитвате да получите достъп до файлове с ' cat ' команди. Всичко, което напишете след използването им, ще се счита за аргумент. Например:
cat file name.txt
Забележка : Вашето име на файл може да бъде всичко друго, но за тази статия ще използваме „ file name.txt “ като пример.
Тук командата ' cat ' ще разгледа файла и име като два аргумента, а не като един аргумент. Ако обаче използвате избягащ символ или кавички, тогава bash shell ще разгледа това като единен аргумент, който ще бъде „ името на файла.txt “.
Име на файл с пространства в Bash
Има няколко метода, които могат да се използват за интервалите в името. Най-добрата практика е избягването на интервали за имена на файлове в бъдеще. Един прост метод ще бъде да преименувате файла, до който се опитвате да получите достъп и да премахнете интервали. Някои други методи използват единични или двойни цитати на името на файла с интервали или използват символ escape (\) точно преди интервала. Ще предоставим методи с приложени примери, за да ви покажем как работи.
Метод 1: Използване на единични и двойни котировки
- Задръжте клавишите Ctrl + Alt и натиснете T, за да отворите терминал .
- Сега променете директорията на мястото, където се намира файлът.
(можете също да плъзнете и пуснете файла в терминала след командата ' cat ', която автоматично ще постави котировки към файла / директорията на файла)
cd Desktop
Промяна на директория Забележка : Desktop може да бъде променен до местоположението, до което се опитвате да получите достъп.
- Въведете следната команда, за да прочетете текстов файл с интервали в името:
cat 'име на файла.txt'
или
cat "име на файл.txt"
Използване на цитати, за да избегнете интервали в грешка в името - Единичните и двойните котировки ще доведат до същото. В някои случаи трябва да опитате и двете и да видите коя от тях работи.
Метод 2: Използване на символа за бягство на заден ход
- Задръжте клавишите Ctrl + Alt и натиснете T, за да отворите терминал .
- Променете директорията, където се намира файлът, като използвате следната команда.
cd Desktop
Забележка : Поставете името на местоположението си вместо Desktop.
- Сега напишете командата и използвайте знака за бягство навсякъде, където има място в името:
файл с котка \ name.txt
Използване на символ за бягство, за да се избегне грешка в интервала
Бонус: Използване на котировки и бягство
Понякога, когато използвате директорията в командата, може да има последствия за използването на кавички в цялостния път. Това е така, защото някои команди като ' mv ' или ' cp ' ще разгледат пътя като източник на файл, ако цитатът се използва като цяло. Трябва да предоставите оферти както за източника, така и за местоназначението поотделно, за да може командите като „ cp “ да работят правилно. Можете също да проверите примера по-долу, който ще ви покаже, че използването на знака за бягство за пътя е много по-сложно и потребителите могат да сгрешат с него.