Как да се справя с предаване на имена на файлове с интервали в 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: Използване на единични и двойни котировки

  1. Задръжте клавишите Ctrl + Alt и натиснете T, за да отворите терминал .
  2. Сега променете директорията на мястото, където се намира файлът.

    (можете също да плъзнете и пуснете файла в терминала след командата ' cat ', която автоматично ще постави котировки към файла / директорията на файла)

     cd Desktop 

    Промяна на директория

    Забележка : Desktop може да бъде променен до местоположението, до което се опитвате да получите достъп.

  3. Въведете следната команда, за да прочетете текстов файл с интервали в името:
     cat 'име на файла.txt' 

    или

     cat "име на файл.txt" 

    Използване на цитати, за да избегнете интервали в грешка в името
  4. Единичните и двойните котировки ще доведат до същото. В някои случаи трябва да опитате и двете и да видите коя от тях работи.

Метод 2: Използване на символа за бягство на заден ход

  1. Задръжте клавишите Ctrl + Alt и натиснете T, за да отворите терминал .
  2. Променете директорията, където се намира файлът, като използвате следната команда.
     cd Desktop 

    Забележка : Поставете името на местоположението си вместо Desktop.

  3. Сега напишете командата и използвайте знака за бягство навсякъде, където има място в името:
     файл с котка \ name.txt 

    Използване на символ за бягство, за да се избегне грешка в интервала

Бонус: Използване на котировки и бягство

Понякога, когато използвате директорията в командата, може да има последствия за използването на кавички в цялостния път. Това е така, защото някои команди като ' mv ' или ' cp ' ще разгледат пътя като източник на файл, ако цитатът се използва като цяло. Трябва да предоставите оферти както за източника, така и за местоназначението поотделно, за да може командите като „ cp “ да работят правилно. Можете също да проверите примера по-долу, който ще ви покаже, че използването на знака за бягство за пътя е много по-сложно и потребителите могат да сгрешат с него.

Разликата между цитати и бягство характер

Интересни Статии