Erreur de syntaxe: fin de fichier inattendue (en comptant “alors”)
J'ai fais ce code pour un serveur minecraft plugin de mise à jour
Je suis un nouveau shell scripter je ne sais donc pas beaucoup...
lorsque j'exécute ce code j'obtiens une erreur:
#!/bin/sh
export PATH=$PATH:.
#Options
PLUGINDOWNLOADLINK=http://api.bukget.org/3/plugins/bukkit/$PLUGINNAME/latest/download
# Plugin folder
if [ -f $PWD\plugins ]; then
PLUG=$PWD\plugins
else
PLUG=$PWD\plug-ins
fi
cd $PLUG
if [ ! -f .\update ]; then
mkdir update
echo Making Directory "update"..
fi
# Plugins Found
for i in $( ls );
do
PLUGINNAME=$i
done
cd .\update
wget $PLUGINDOWNLOADLINK
# No Plugins Found
if [ ! -f $PLUG ]; then
echo
echo
echo No plugin found.
echo
echo
echo
echo Plugins can be downloaded here:
echo http://dev.bukkit.org/bukkit-plugins
fi
# stop
sleep 3s
exit
J'obtiens cette erreur:
Syntax error: end of file unexpected (expecting "then")
alors j'ai mis "puis" dans la place qu'il me voulait et il a couru de nouveau:
il m'a donné cette erreur maintenant:
Syntax error: end of file unexpected
Je l'ai écrit sur windows 7 notepad++
comment puis-je résoudre ce problème?
Le code que vous avez posté n'est pas la cause de l'erreur.
alors qu'est-ce?
ou avez-vous composé ce script dans un éditeur de Windows, et puis copié-vous à votre serveur linux sans courir
ya exepté c'est une pi
dos2unix ne fonctionne pas
alors qu'est-ce?
ou avez-vous composé ce script dans un éditeur de Windows, et puis copié-vous à votre serveur linux sans courir
dos2unix myPluginScript
. ? Bonne chance.ya exepté c'est une pi
dos2unix ne fonctionne pas
OriginalL'auteur user2649805 | 2013-08-09
Vous devez vous connecter pour publier un commentaire.
J'ai rencontré le même problème. Et le problème est le format du fichier est "dos", mais dans le shell linux nécessite "unix", alors j'ai installer le "dos2unix"
ou si vous utilisez emacs, vous pouvez le faire:
Bonne chance
🙂
OriginalL'auteur Ni Xiaoni
then^M
avec un retour chariot à la fin. Si vous n'avez pas dos2unix puis essayez d'exécuter cette commande:sed -i 's/\r$//' filename
OriginalL'auteur glenn jackman