2017-03-23 3 views
0

Ich bin völlig neu in Bash Programmierung, also bitte nicht beleidigt fühlen mit meiner Frage. Ich versuche SCP-Befehl mit Parametern aus der Konfigurationsdatei zu verwenden. Nun ist mein Code sieht aus wie untenBash 'scp' Befehl mit Parametern

#!/usr/bin/bash 

source $1 

echo $HOST 
echo $USER 
echo $DIRECTORY 

scp ${USER}@${HOST}:/${DIRECTORY}/file.zip . 

Und meine Ausgabe lautet:

111.111.11.111 
user1 
/home/repo/test/ 
: Name or service not knowname 111.111.11.111 

Wenn ich $ entfernen wird {HOST} von Befehl und ich werde Adresse direkt einfügen, es funktioniert perfekt. Andere Variablen werden ohne Probleme übergeben. Hast du eine Ahnung, wo ich falsch liege? Ich bin völlig verloren. Ich führe dieses Skript vom Cygwin-Terminal, aber ich denke, es ist kein Problem.

+0

Haben Sie mit folgender Syntax versucht? 'scp $ {USER} @ $ HOST:/$ {VERZEICHNIS} /file.zip .' –

+0

Ja, und es ist das gleiche – Tatarinho

+0

Einfach versucht, indem Sie alle '{' und '}' entfernen und es funktioniert gut in meinem System, das ist: 'scp $ USER @ $ HOST:/$ VERZEICHNIS/file.zip. ' –

Antwort

0

Nach Jakuje Kommentar war das Problem in der Konfigurationsdatei. Ich habe EOL-Konvertierung in UNIX geändert und es funktioniert perfekt.