Com es gestionen els noms de fitxers que passen amb espais a Bash



Proveu El Nostre Instrument Per Eliminar Problemes

Linux té un shell per defecte Bash (també conegut com Bourne shell) per executar ordres per al sistema. La majoria dels programadors prefereixen bash sobre cmd a causa de la flexibilitat i el potent intèrpret de línia d'ordres que proporciona bash. Tanmateix, la majoria dels usuaris continuaran tenint problemes mentre intenten gestionar el pas de noms de fitxers amb espais en bash. Això es deu al fet que els espais no es consideren iguals en bash que en noms de fitxers.



Fitxers amb espais al nom



Per què Bash no reconeix el nom de fitxer amb espais?

A Bash, si escriviu diverses paraules sense escapament caràcter () o cites , considerarà totes les paraules com a arguments. Això s'aplica a totes les operacions, tant si canvieu de directori amb ' cd 'O intentant accedir als fitxers amb' gat ‘Ordres. Qualsevol cosa que escriviu després d’utilitzar-les es considerarà un argument. Per exemple:



nom del fitxer cat.txt

Execució de l'ordre sense utilitzar caràcters d'escapament ni cometes

Nota : El vostre nom de fitxer pot ser qualsevol cosa, excepte per a aquest article, utilitzarem ' nom del fitxer.txt ' com un exemple.

Aquí ‘ gat 'Ordre tindrà en compte dossier i nom com a dos arguments en lloc d’un argument únic. Tanmateix, si utilitzeu caràcters d'escapament o cites, l'intèrpret d'ordres bash ho considerarà com un argument únic, que serà el ' nom del fitxer.txt '.



Nom de fitxer amb Spaces in Bash

Hi ha pocs mètodes que es puguin utilitzar per als espais del nom. La millor pràctica és evitar espais per als noms de fitxers en el futur. Un mètode senzill serà canviar el nom del fitxer al qual intenteu accedir i eliminar espais. Alguns altres mètodes són utilitzar cometes simples o dobles al nom del fitxer amb espais o utilitzar el símbol escape () just abans de l'espai. Proporcionarem mètodes amb exemples aplicats per mostrar-vos com funciona.

Mètode 1: utilitzar pressupostos individuals i dobles

  1. Espera Ctrl + Alt tecles i premeu T obrir terminal .
  2. Ara canvieu el directori a on es troba el fitxer.
    (Tu pots també arrossegar i tirar el fitxer al terminal després de l’ordre ‘ gat ', Que posarà automàticament pressupostos al directori de ruta / fitxer)

    cd Desktop

    Canvi de directori

    Nota : L'escriptori es pot canviar a la ubicació a la qual intenteu accedir.

  3. Escriviu l'ordre següent per llegir un fitxer de text amb espais al nom:
    cat 'file name.txt'

    o bé

    cat 'file name.txt'

    Utilitzar cometes per evitar espais en l’error de nom

  4. Les cotitzacions simples i dobles resultaran igual. En alguns casos, heu de provar tots dos i veure quin funciona.

Mètode 2: utilitzar el caràcter d'escapament de la reacció

  1. Espera Ctrl + Alt tecles i premeu T obrir terminal .
  2. Canvieu el directori on es troba el fitxer mitjançant l'ordre següent.
    cd Desktop

    Nota : Col·loqueu el nom de la vostra ubicació al lloc de l'escriptori.

  3. Ara escriviu l'ordre i utilitzeu escapament el caràcter en qualsevol lloc hi ha espai al nom:
    cat file  name.txt

    Utilitzant el caràcter d’escapament per evitar l’error d’espais

Bonificació: ús de pressupostos i Escape

De vegades, quan utilitzeu el directori de l'ordre, pot haver-hi conseqüències en utilitzar cometes a la ruta general. Això es deu al fet que algunes ordres com ara ' mv 'O' cp 'Considerarà el camí com font del fitxer si la cita s'utilitza en la seva totalitat. Cal proporcionar pressupostos per a tots dos font i destí individualment de manera que ordres com ' cp ‘Pot funcionar correctament. També podeu consultar l'exemple següent que us mostrarà que l'ús de caràcters d'escapament per al camí és molt més complex i que els usuaris poden equivocar-s'hi.

La diferència entre les cites i el caràcter d’escapament

2 minuts de lectura