Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1400 connectés 

  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  Syntax error: end of file unexpected (expecting "then")

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Syntax error: end of file unexpected (expecting "then")

n°1390054
LeGamer7
Posté le 30-04-2016 à 16:19:24  profilanswer
 

Bonjour j'ai un problème lorsque j'execute mon script avec mon vps linux sous debian 8
voici le message d'erreur:
007.sh: 9: 007.sh: Syntax error: end of file unexpected (expecting "then" )
 
et voici mon script: (Je viens d'apprendre les première bases en shell ceci est mon tout premier script soyez indulgent)
 

Code :
  1. if screen -list | grep -q "SkyBlock";
  2.     then
  3.         echo "Le serveur SkyBlock est deja en fonctionnement... "
  4.     else
  5.         echo "Demmarage du serveur SkyBlock ..."
  6.         cd /home/Minecraft/SkyBlock/
  7.         screen -dmS "SkyBlock" ./start.sh
  8.     fi


 
merci


Message édité par LeGamer7 le 30-04-2016 à 17:14:46
mood
Publicité
Posté le 30-04-2016 à 16:19:24  profilanswer
 

n°1390055
LeGamer7
Posté le 01-05-2016 à 12:00:04  profilanswer
 

Aidez moi s'il vous plait

n°1390056
bistouille
Posté le 01-05-2016 à 12:34:26  profilanswer
 

C'est une erreur d'indentation tout simplement non ?
 

Code :
  1. if screen -list | grep -q "SkyBlock"; then
  2.     echo "Le serveur SkyBlock est déjà en fonctionnement... "
  3. else
  4.     echo "Démarrage du serveur SkyBlock ..."
  5.     cd /home/Minecraft/SkyBlock/
  6.     screen -dmS "SkyBlock" ./start.sh
  7. fi


Message édité par bistouille le 01-05-2016 à 12:35:27

---------------
On croit souvent avoir vu le fond de la stupidité humaine, et il parfois nécessaire qu'on vous rappelle qu'elle n'a pas de fond.
n°1390057
LeGamer7
Posté le 01-05-2016 à 12:39:36  profilanswer
 

Syntax error: "fi" unexpected (expecting "then" )
 
Je ne sais vraiment pas d'ou vient le problème, j'ai appellé mon script on.sh et je l'execute avec la commande sh on.sh


Message édité par LeGamer7 le 01-05-2016 à 12:41:04
n°1390058
bistouille
Posté le 01-05-2016 à 13:00:32  profilanswer
 

Ok, je connais pas du tout la syntaxe, mais ça vient de ta commande dans ton else.
 
Il suffit de l'entourer de ` pour l'évaluer.
http://www.linux-france.org/articl [...] .htm#subst
 

Code :
  1. if screen -list | grep -q "SkyBlock"; then
  2.     echo "Le serveur SkyBlock est déjà en fonctionnement... "
  3. else
  4.     echo "Démarrage du serveur SkyBlock ..."
  5.     cd /home/Minecraft/SkyBlock/
  6.     `screen -dmS "SkyBlock" ./start.sh`
  7. fi



---------------
On croit souvent avoir vu le fond de la stupidité humaine, et il parfois nécessaire qu'on vous rappelle qu'elle n'a pas de fond.
n°1390059
LeGamer7
Posté le 01-05-2016 à 13:19:41  profilanswer
 

J'ai à nouveau la même erreur :(
 
 
 Syntax error: "fi" unexpected (expecting "then" )
 


Message édité par LeGamer7 le 01-05-2016 à 13:20:01
n°1390060
bistouille
Posté le 01-05-2016 à 13:49:15  profilanswer
 

J'ai installé screen pour tester, et chez moi ça fonctionne parfaitement en lançant un simple script python, et y'a pas besoin de quotes pour la commande.
 

Code :
  1. if screen -list | grep -q "Test"; then
  2.     echo "Le processus est déjà en cours d'exécution"
  3. else
  4.     echo "Démarrage du processus"
  5.     cd /home/couic/projets/python/
  6.     screen -dmS "Test" ./demarrage.sh
  7. fi


 
Donc je vois pas.
 
Y'a quoi dans ton fichier start.sh ?
Tu l'as bien en exécutable dans les permissions ?
 
 


---------------
On croit souvent avoir vu le fond de la stupidité humaine, et il parfois nécessaire qu'on vous rappelle qu'elle n'a pas de fond.
n°1390061
LeGamer7
Posté le 01-05-2016 à 14:02:26  profilanswer
 

Le contenu du start.sh:
java -jar -Xms2560M -Xmx8024M -jar custom.jar
mais je pense que c'est vu que j'ai fais le script sous notepad non?

n°1390062
bistouille
Posté le 01-05-2016 à 14:16:16  profilanswer
 

Peu importe l'éditeur de texte.
 
Si tu te places dans le répertoire « SkyBlock » et que tu exécutes ton fichier start.sh, ton serveur minecraft est bien lancé ?
 
Si, oui, je ne peux t'aider plus, tu devrais demander à faire déplacer ton topic dans le forum linux, y'aura certainement des gens beaucoup plus calés que moi  :whistle:  
Et t'auras plus de chance d'avoir des réponses.
 


---------------
On croit souvent avoir vu le fond de la stupidité humaine, et il parfois nécessaire qu'on vous rappelle qu'elle n'a pas de fond.
n°1390063
LeGamer7
Posté le 01-05-2016 à 14:20:20  profilanswer
 

Je vais faire sa en tout cas merci pour ton aide et sinon lorsque j'execute mon start.sh cela fonctionne mais lorsque j'execute mon on.sh j'ai toujour la même erreur
 
Syntax error: "fi" unexpected (expecting "then" )

mood
Publicité
Posté le 01-05-2016 à 14:20:20  profilanswer
 

n°1390064
LeGamer7
Posté le 01-05-2016 à 14:22:12  profilanswer
 

Heu je ne sais pas comment contacter un membre du staff pour qu'il bouge mon sujet :(


Message édité par LeGamer7 le 01-05-2016 à 14:22:32
n°1390065
bistouille
Posté le 01-05-2016 à 14:38:53  profilanswer
 

J'ai demandé :o


---------------
On croit souvent avoir vu le fond de la stupidité humaine, et il parfois nécessaire qu'on vous rappelle qu'elle n'a pas de fond.
n°1390066
LeGamer7
Posté le 01-05-2016 à 14:39:43  profilanswer
 

Merci ;)

n°1390067
gilou
Modzilla
Posté le 01-05-2016 à 15:09:20  profilanswer
 

Ce sujet a été déplacé de la catégorie Programmation vers la categorie Linux et OS Alternatifs par Gilou


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°1390068
LeGamer7
Posté le 01-05-2016 à 15:10:26  profilanswer
 

Merci d'avoir déplacé mon post en espérant que quelqu'un arrive à m'aider :)

n°1390069
gilou
Modzilla
Posté le 01-05-2016 à 15:12:46  profilanswer
 

Tiens c'est marrant, en déplaçant le sujet, l'alerte modération a disparu de programmation. Si elle s'est déplacée aussi dans cette section, la clore.
 
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°1390071
LeGamer7
Posté le 01-05-2016 à 17:45:23  profilanswer
 

Je n'ai toujours pas trouvé pourquoi il ne marche pas j'espère que vous pourrez m'aider

n°1390072
Misssardon​ik
prévisible a posteriori
Posté le 01-05-2016 à 18:22:44  profilanswer
 

quel est le shell utilisé ?


---------------
Que va-t-il se passer cette gelgamar ? vous le découvrirez janamont à 20h
n°1390073
LeGamer7
Posté le 01-05-2016 à 18:25:35  profilanswer
 

if screen -list | grep -q "Test"; then
    echo "Le processus est déjà en cours d'exécution"
else
    echo "Démarrage du processus"
    cd /home/couic/projets/python/
    screen -dmS "Test" ./demarrage.sh
fi

n°1390082
bistouille
Posté le 02-05-2016 à 06:49:15  profilanswer
 

Il te demande le shell qui est utilisé par l'utilisateur lançant le script  :o  
 
Faudrait déjà que tu détermines qui lance le script sur l'os.
Je dirais Minecraft, vu que tu exécutes le fichier dans son home, mais à toi de le dire.
 
Soit en étant logué dans une console en étant cet utilisateur.
 

Code :
  1. echo $SHELL


 
Ou en étant en root ou autre.
 

Code :
  1. cat /etc/passwd | grep METTRE_ICI_LE_NOM_UTILISATEUR_LANCANT_LE_SCRIPT


 
 
 


---------------
On croit souvent avoir vu le fond de la stupidité humaine, et il parfois nécessaire qu'on vous rappelle qu'elle n'a pas de fond.
n°1390083
LeGamer7
Posté le 02-05-2016 à 07:13:50  profilanswer
 

Le script sera executé soit par l'utilisateur "Minecraft" soit par le "root" ou soit par une crontab

n°1390098
LeGamer7
Posté le 02-05-2016 à 16:48:22  profilanswer
 

bistouille a écrit :

Il te demande le shell qui est utilisé par l'utilisateur lançant le script  :o

 

Faudrait déjà que tu détermines qui lance le script sur l'os.
Je dirais Minecraft, vu que tu exécutes le fichier dans son home, mais à toi de le dire.

 

Soit en étant logué dans une console en étant cet utilisateur.

 
Code :
  1. echo $SHELL
 

Ou en étant en root ou autre.

 
Code :
  1. cat /etc/passwd | grep METTRE_ICI_LE_NOM_UTILISATEUR_LANCANT_LE_SCRIPT
  



Comme sa ?

 
Code :
  1. #!/bin/sh
  2. cat /home/Minecraft/SkyBlock/ | grep root
  3. if screen -list | grep -q "SkyBlock"; then
  4.     echo "Le serveur SkyBlock est déjà en fonctionnement... "
  5. else
  6.     echo "Démarrage du serveur SkyBlock ..."
  7.     cd /home/Minecraft/SkyBlock/
  8.     screen -dmS "SkyBlock" ./start.sh
  9. fi


Message édité par LeGamer7 le 02-05-2016 à 16:49:11
n°1390103
bistouille
Posté le 02-05-2016 à 18:55:46  profilanswer
 

Mais non    :pt1cable:  
Faut pas mettre ça dans ton exécutable.
 
C'est un serveur perso sur une machine que tu contrôles ou un serveur dédié ?
Parce que là, manifestement, tu ne connais strictement rien à linux.
 
Les commandes sont à écrire dans un terminal, uniquement pour déterminer si c'est le bash que tu utilises.
Mais bon, normalement ça doit-être le bash.
 


---------------
On croit souvent avoir vu le fond de la stupidité humaine, et il parfois nécessaire qu'on vous rappelle qu'elle n'a pas de fond.
n°1390104
LeGamer7
Posté le 02-05-2016 à 18:58:45  profilanswer
 

X) en effet je suis nouveau dans le monde du linux et c'est un serveur dédié

n°1390105
LeGamer7
Posté le 02-05-2016 à 19:06:31  profilanswer
 

Lorsque j'effectue la commande echo $SHELL sa me donne /bin/bash

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  Syntax error: end of file unexpected (expecting "then")

 

Sujets relatifs
File d'attente HTTP16 GB FILE SYSTTEM Montage non autorisé
[Errno 5] Input/output error - sous vmware et virtualboxError Boot
Erreur script bash : TSET: 5: TSET: Syntax error: "(" unexpectedGrub Error après install Debian (crypto-LUKS)
Fatal error en allant sur un site ? SUJET RESOLUsh error 14
Plus de sujets relatifs à : Syntax error: end of file unexpected (expecting "then")


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR