Wie mache ich mkdir mit einem Pfad, der Leerzeichen enthält?

8

Ich habe ein Bash-Anfänger-Problem:
Mein zu erstellender Pfad ist /Volumes/ADATA\ UFD/Programming/Qt , wobei /Volumes/ADATA\ UFD bereits existiert. Ich möchte ein Skript in der folgenden Form schreiben:

%Vor%

Mein Problem ist, dass mkdir das Verzeichnis /Volumes/ADATA und ./UFD/Programming erstellt, anstatt /Volumes/ADATA\ UFD/Programming/Qt zu erstellen.

Ich habe mir diese Frage zu SO angeschaut ; Keine dieser Lösungen funktionierte jedoch:

%Vor%

Was mache ich falsch? Was ist die gute Kombination hier?

    
Barnabas Szabolcs 05.12.2012, 22:41
quelle

2 Antworten

13

Sie müssen die Variablen angeben, wenn Sie sie verwenden. Erweiterte Variablen unterliegen einer Wortsplitting. Es empfiehlt sich, Ihre Erweiterung immer anzugeben, unabhängig davon, ob Sie Sonderzeichen oder Leerzeichen erwarten. Sie müssen auch keine Leerzeichen beim Zitieren vermeiden.

Das Folgende wird tun, was Sie wollen:

%Vor%     
jordanm 05.12.2012, 22:44
quelle
11

Doppelte Anführungszeichen um die Variable, wenn sie an den Befehl mkdir übergeben wird:

%Vor%     
Jonathan Leffler 05.12.2012 22:43
quelle

Tags und Links