Как да се справя с предаването на имена на файлове с интервали в Bash

Linux има оболочка по подразбиране Bash (известна още като Bourne shell) за изпълнение на команди за системата. Повечето програмисти предпочитат bash пред cmd поради гъвкавостта и мощния интерпретатор на командния ред, който bash предоставя. Повечето потребители обаче все още ще имат проблеми, докато се опитват да се справят с предаването на имена на файлове с интервали в bash. Това е така, защото интервалите в bash не се считат за еднакви, както в имената на файлове.

Защо името на файла с интервали не се разпознава от Bash?

В Bash, ако въведете няколко думи без изходен знак (\) или кавички , той ще разгледа всички думи като аргументи. Това важи за всички операции, независимо дали променяте директорията с ' cd ' или се опитвате да получите достъп до файлове с команди ' cat '. Всичко, което напишете след използването им, ще се счита за аргумент. Например:

cat файл name.txt

Забележка : Името на файла ви може да бъде всичко, но за тази статия ще използваме „ file name.txt “ като пример.

Тук командата ' cat ' ще разглежда файла и името като два аргумента, а не като един аргумент. Ако обаче използвате изходен знак или цитати, тогава bash shell ще разгледа това като единичен аргумент, който ще бъде „ file name.txt “.

Име на файл с интервали в Bash

Има малко методи, които могат да се използват за интервалите в името. Най-добрата практика е избягването на интервали за имена на файлове в бъдеще. Един прост метод ще бъде да преименувате файла, до който се опитвате да осъществите достъп и да премахнете интервалите. Някои други методи използват единични или двойни кавички върху името на файла с интервали или използват escape (\) символ точно пред интервала. Ще предоставим методи с приложни примери, за да ви покажем как работи.

Метод 1: Използване на единични и двойни кавички

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

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

    cd работен плот

    Забележка : Работният плот може да бъде променен на мястото, до което се опитвате да осъществите достъп.

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

    или

    котка "име на файл.txt"
  4. Единичните и двойните котировки ще доведат до същото. В някои случаи трябва да опитате и двете и да видите кой работи.

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

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

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

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

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

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