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
Grocery
und list
werden als zwei Wörter aufgefasst.
Die Ausgaberichtung > Grocery
wird von der Shell vorgegeben und geschieht zuerst, sodass die Datei Grocery
erstellt und dann cat list
ausgeführt wird, d. h. sie list
wird als Argument übernommen cat
, da vermutlich keine Datei list
im aktuellen Verzeichnis vorhanden ist, daher der Fehler bezüglich der fehlenden list
Datei.
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.