Le script ci-dessous a fonctionné sur Mac OS X. J'utilise maintenant Ubuntu OS, et le script ne fonctionne plus. Je me demande s'il y a quelque chose que je dois changer ici? J'ai changé la première ligne de #!/Bin/bash à #!/Bin/sh, mais cela génère toujours une erreur ... Essentiellement, j'obtiens une erreur lorsque j'essaie de l'exécuter:script shell a cessé de fonctionner --- besoin de réécrire?
Syntax error: end of file unexpected (expecting ")")
#!/bin/sh
REMOTE='ftp.example.com'
USER='USERNAME'
PASSWORD='PASSWORD'
CMDFILE='/jtmp/rc.ftp'
FTPLOG='/jtmp/ftplog'
PATTERN='SampFile*'
date > $FTPLOG
rm $CMDFILE 2>/dev/null
LISTING=$(ftp -in $REMOTE <<EOF
user $USER $PASSWORD
cd download
ls $PATTERN
quit
EOF)
echo "open $REMOTE" >> $CMDFILE
echo "user $USER $PASSWORD" >> $CMDFILE
echo "verbose" >> $CMDFILE
echo "bin" >> $CMDFILE
echo "cd download" >> $CMDFILE
for FILE in $LISTING
do
echo "get $FILE" >> $CMDFILE
done
echo "quit" >> $CMDFILE
ftp -in < $CMDFILE >> $FTPLOG 2>&1
rm $CMDFILE
EDIT
Je tournai mis -v et mis -x sur et il semble que ça ne fonctionne pas ... la liste Toute idée pourquoi?
REMOTE='ftp.example.com'
+ REMOTE=ftp.example.com
USER='USERNAME'
+ USER=USERNAME
PASSWORD='PASSWORD'
+ PASSWORD=PASSWORD
CMDFILE='/jtmp/rc.ftp'
+ CMDFILE=/jtmp/rc.ftp
FTPLOG='/jtmp/ftplog'
+ FTPLOG=/jtmp/ftplog
PATTERN='SampFile*'
+ PATTERN=SampFile*
date > $FTPLOG
+ date
rm $CMDFILE 2>/dev/null
+ rm /jtmp/rc.ftp
LISTING=$(ftp -in $REMOTE <<EOF
user $USER $PASSWORD
cd download
ls $PATTERN
quit
EOF)
echo "open $REMOTE" >> $CMDFILE
echo "user $USER $PASSWORD" >> $CMDFILE
echo "verbose" >> $CMDFILE
echo "bin" >> $CMDFILE
echo "cd download" >> $CMDFILE
for FILE in $LISTING
do
echo "get $FILE" >> $CMDFILE
done
echo "quit" >> $CMDFILE
ftp -in < $CMDFILE >> $FTPLOG 2>&1
rm $CMDFILE./inFullRefresh.sh: 34: Syntax error: end of file unexpected (expecting ")")
oui ... compris cela juste avant ... Merci a publié ce billet si :) – OopsForgotMyOtherUserName