Ich habe ein Skript, das scp eine Datei vom Remote-Host zurück zum lokalen ist. Manchmal enthalten die Dateinamen Leerzeichen. scp mag keine Leerzeichen in seinen Dateinamen. Aus irgendeinem Grund haben meine Versuche, mit den Leerzeichen umzugehen, nicht zum richtigen scp-Pfad geführt.
Code:
PATH=/var/root/Documents/MyFile OG-v1.2.3.pkg
scp $PATH Me@10.1.10.33:/Users/Me/Desktop
Ergebnisse in
Cannot find directory: var/root/Documents/MyFile
Cannot find directory: OG-v1.2.3.pkg
PFAD in Anführungszeichen setzen "$PATH"
führt zu demselben Fehler.
Das Austauschen der Leerzeichen gegen maskierte Leerzeichen funktioniert ebenfalls nicht, obwohl dies meines Erachtens Folgendes sein sollte:
ESC_PATH=${PATH/' '/'\ '}
Obwohl das Drucken des maskierten Pfads zeigt, dass die Bearbeitung funktioniert hat:
echo $ESC_PATH
> /var/root/Documents/MyFile\ OG-v1.2.3.pkg
$PATH
für Ihre eigenen Variablen verwenden, da Ihr Terminal dies benötigt.