"Je n'ai pas eu beaucoup d'expérience avec bash. Le script ci-dessous a fonctionné lorsque je n'ai pas utilisé la commande find et simplement scp directement à partir du fichier.
Donne actuellement l'erreur "fichier introuvable" et ne sais pas non plus comment utiliser les variables dans cette situation, car je suis un codeur PHP. Merci
#!/usr/bin/expect -f
FILENAME = appendname_".date +%d%m%Y;
spawn bash -c "scp "find /www/reports/archives . -name
$FILENAME.txt" ftpdomain.com:/"
expect "password:"
send "pwaordr"
expect "*r"
expect "ok"
Réponses:
1 pour la réponse № 1Je vous recommande d'utiliser ssh-keygen
et installer la clé sur votre serveur, vous pouvez utiliser scp
sans avoir à fournir de mot de passe via expect
. Pour votre question, vous pouvez utiliser substitution de commande (bash prend en charge $()
et ``), quelque chose comme
spawn bash -c "scp $(find /www/reports/archives -name $FILENAME.txt)
ftpdomain.com:/"