Ich möchte eine Datei mit dem Namen „Einkaufsliste“ erstellen (2 Wörter im Namen dieser Datei)

Ich möchte eine Datei mit dem Namen „Einkaufsliste“ erstellen (2 Wörter im Namen dieser Datei)

Ich weiß, wir können

cat > fire

um eine Datei mit dem Namen „fire“ zu erstellen. Aber wenn der Name der Datei zwei Wörter enthält, wie „Einkaufsliste“, wie erstellt man das dann?

Seit

cat > Grocery list

gibt die seltsame Nachricht aus cat: list: No such file or directory.

Bitte hilf mir.

Antwort1

Viele Möglichkeiten:

  • Verwenden von einfachen Anführungszeichen um den Namen:

    cat > 'Grocery list'
    
  • Verwenden von doppelten Anführungszeichen um den Namen:

    cat > "Grocery list"
    
  • Escapen Sie das Leerzeichen mit \:

    cat > Grocery\ list
    

Wenn Sie das tun:

cat > Grocery list

Groceryund listwerden als zwei Wörter aufgefasst.

Die Ausgaberichtung > Grocerywird von der Shell vorgegeben und geschieht zuerst, sodass die Datei Groceryerstellt und dann cat listausgeführt wird, d. h. sie listwird als Argument übernommen cat, da vermutlich keine Datei listim aktuellen Verzeichnis vorhanden ist, daher der Fehler bezüglich der fehlenden listDatei.

In diesem Fall tun Sie im Wesentlichen Folgendes:

cat list > Grocery

Antwort2

Sie müssen dem Raum irgendwie entkommen. heemayl hat Ihnen eine gute Antwort gegeben, aber ich empfehle, für weitere Einzelheiten auch Folgendes zu lesen:Warum gerät mein Shell-Skript ins Stocken, wenn es sich um Leerzeichen oder andere Sonderzeichen handelt?

Zum Erstellen der Datei selbst müssen Sie nicht verwenden cat.

> file

reicht.

verwandte Informationen