Ich habe es versucht
Export TASK=$HOME/Ubuntu\ One
und ExportTASK="$HOME/Ubuntu One"
aber beides funktioniert nicht.
ubuntu-one
bash
daithib8
quelle
quelle
TASK
oderPATH
? Stellen SiePATH
mit einTASK
? Wenn das so ist, wie?Antworten:
Es ist nicht die Definition, mit der Sie Probleme haben, sondern die Verwendung. Sie müssen die Variable in Anführungszeichen setzen, wo immer Sie sie verwenden. Siehe dieses Beispiel:
quelle
Versuchen
In beiden von Ihnen ausgegebenen Exporten ist das Ergebnis, wenn Sie $ TASK wiederholen
Dies ist nicht das erwartete Verhalten, denn wenn Sie so etwas schreiben
Bash wird es erweitern auf
das ist natürlich falsch.
Deshalb müssen wir unseren Pfad in Anführungszeichen setzen und dem Leerzeichen entkommen.
quelle
Auf dieser Seite wird das Problem ausführlich erläutert. Es ist eine gute Idee, es gründlich zu lesen http://mywiki.wooledge.org/Arguments
quelle
Dieses unangenehme und ungeschickte Verhalten ist das Ergebnis einer unklugen Wahl im Namen des Verzeichnisses "Ubuntu One". Leider scheint dafür keine Lösung geplant zu sein.
Eine Möglichkeit ist die Verwendung von Dropbox, die ähnliche Funktionen bietet.
quelle
Anstatt auf Dropbox zurückzugreifen, habe ich einen symbolischen Link erstellt:
In meinem speziellen Fall wollte ich Python-Module aus einem Verzeichnis in meiner Cloud importieren:
Ich stimme zu, es ist idiotisch, Leerzeichen in Linux-Dateinamen einzufügen.
quelle