• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

[gelöst]copy script

goodski

Newbie
Hi

ich habe da ein kurioses Problem.

ich habe ein 3 zeiler der von einem server ein file Abholt (datum ist im namem enthalten).

Code:
#!/bin/bash
echo $1
scp 192.168.1.10:/share/file_$1.xml /icomming/file_$1_orig.xml

dieses führe ich z.B. wie folgt aus
./get_file.sh 20060209

und er kopiert wie es sein soll!!

da das mittlerweile jeden tag geschehen soll habe ich wie folgt abgeändert.
Code:
!/bin/bash
datum=$(date '+%Y%m%d')
echo &datum
scp 192.168.1.10:/share/file_$datum.xml /icomming/file_$datum_orig.xml

beim echo gibt er noch das richtige date aus jedoch beim kopieren
bekomme ich die meldung
file_.xml existiert nicht.

kann mir da jemand weiter helfen.
 

gameboy

Hacker
Hallo GUCCI,

GUCCI schrieb:
Code:
scp 192.168.1.10:/share/file_$datum.xml /icomming/file_$datum_orig.xml
das Problem liegt m.E. darin, daß $datum_orig als Variablenname interpretiert wird. Da diese Variable nicht definiert wurde, enthält sie natürlich nichts bzw. einen leeren String...

Ich vermute (ungetestet, da ich gerade keinen Zugriff auf einen Linux-Rechner habe), das läßt sich durch das Einfügen von einem Backslash nach $datum wie folgt lösen:

Code:
scp 192.168.1.10:/share/file_$datum.xml /icomming/file_$datum\_orig.xml
Viele Grüße,
gameboy.
 
Oder ${datum} verwenden sollte auch gehen.
Dann ist es eindeutig von wo bis wo die Variablennamen gehen.

Haveaniceday
 
Oben