2017-02-01 2 views
0

Bevor ich beginne, bitte beißt mir nicht den Kopf Ich weiß, diese Frage wurde schon oft hier und in anderen Foren gestellt, aber ich kann nicht diese einfache Shell-Skript bekommen arbeiten.Mac OS Shell Skript CD Ordner mit Leerzeichen funktioniert nicht

Das ist mein Skript:

#!/bin/bash 

DEST=“/Volumes/Ext\ 1TB/Google\ Drive/Backup\ Ralph/mac” 

echo dest is $DEST 
cd $DEST 

und dies ist meine Ausgabe:

bash -x gdrive.sh 
+ DEST='“/Volumes/Ext 1TB/Google Drive/Backup Ralph/mac”' 
+ echo dest is $'?\200\234/Volumes/Ext' 1TB/Google Drive/Backup $'Ralph/mac?\200\235' 
dest is “/Volumes/Ext 1TB/Google Drive/Backup Ralph/mac” 
+ cd $'?\200\234/Volumes/Ext' 1TB/Google Drive/Backup $'Ralph/mac?\200\235' 
gdrive.sh: line 6: cd: “/Volumes/Ext: No such file or directory 

ich viele Kombinationen wie einfache oder doppelte Anführungszeichen versucht oder Witz zu entkommen eine Backslash oder oder doppelte Anführungszeichen und Flucht mit einem Backslash

Wenn ich doppelte Anführungszeichen um meine Variable gebe, geben Sie mir einige Zahlen, wie Sie in meinem Beispiel sehen.

Weiß jemand, was die richtige Verwendung und Kombination von Zitaten der Flucht ist?

Ich hoffe, jemand

Grüße helfen kann,

Ralph

+2

Die doppelten Anführungszeichen sind keine einfachen Anführungszeichen, sondern Sonderzeichen. Hier ist es behoben: '"/Volumes/Ext \ 1TB/Google \ Laufwerk/Backup \ Ralph/mac "'. Übrigens müssen Sie die eingebetteten Leerzeichen nicht mit \ umgehen, das würde auch gut funktionieren: '"/Volumes/Ext 1TB/Google Laufwerk/Backup Ralph/mac "' – janos

Antwort

2

Just do:

DEST="/Volumes/Ext 1TB/Google Drive/Backup Ralph/mac" 

cd "$DEST" 

Sie die Zitate in der cd Linie als Wert $DEST müssen, ist einfach eingefügt in die Befehlszeile und ohne sie, die 4 Argumente zu cd produziert:

cd $DEST 

=>

cd /Volumes/Ext 1TB/Google Drive/Backup Ralph/mac 

HTH

P. S. Ich nehme an, die geschweiften Anführungszeichen, "", in Ihrer Frage sind nur ein automatisch korrekter Tippfehler und Sie wissen, dass Sie gerade Anführungsstriche verwenden. ""

+0

Das war's! es funktioniert diese geschweiften Anführungszeichen, war kein Tippfehler, ich bearbeite die Bash-Datei im Standard-Texteditor von Mac OS ... dieser Texteditor konvertiert normale Anführungszeichen in Anführungszeichen. Nie an die geschweiften Zitate gedacht Danke CRD. Das wird nicht wieder passieren, ich habe jetzt sublimen Text 3 installiert, ich benutze ab sofort den Texteditor für die Eingabe von Buchstaben :-) –

Verwandte Themen