IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Shell et commandes GNU Discussion :

Conversion d'un .bat en .sh


Sujet :

Shell et commandes GNU

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Février 2013
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Conversion d'un .bat en .sh
    Bonjour,

    Voilà j’héberge un serveur de jeux programmé sur java qui se lance en .bat sur Windows.

    Depuis quelque jours j’ai commandé un dédié sous linux (Debian 6) Pour de meilleur performance.

    Le problème c’est que les .bat ne ceux lance pas sur linux.

    Pourriez-vous m’aider s’il vous plait et me dire si la convention que j’ai effectuée est correcte ou s’il y a des changements à faire ?

    Code Windows (.bat):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    @echo off
    color 3
    title  ~ "Serveur" ~ : ON
    : loop
    echo (%date%) (%time%) Le Serveur a correctement demarrer !
    "C:\Program Files\Java\jre7\bin\java" -jar -Xms500m -Xms500m coeur.jar"
    echo (%date%) (%time%)
    echo /!\ ATTENTION : Le serveur a crash, redemarrage automatique /!\
    goto loop
    Ce que j'ai compris (sans le reboot automatique ) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    #!/bin/bash
    while :
    do
    -jar -Xms500m -Xms500m coeur.jar
    done
    Puis les commandes a faire sur linux:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    [ #] chmod +x coeur.sh
    [ #] ./coeur.sh
    Merci à ceux qui prendrons le temps de lire mon poste.
    Cordialement Valentin.

  2. #2
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 730
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 730
    Points : 31 053
    Points
    31 053
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par valoub21 Voir le message
    Bonjour,

    Voilà j’héberge un serveur de jeux programmé sur java qui se lance en .bat sur Windows.

    Depuis quelque jours j’ai commandé un dédié sous linux (Debian 6) Pour de meilleur performance.
    Salut
    Tu as eu tout a fait raison

    Citation Envoyé par valoub21 Voir le message
    Le problème c’est que les .bat ne ceux lance pas sur linux.
    Normal, batch et shell ce n'est pas le meme langage...

    Citation Envoyé par valoub21 Voir le message
    Pourriez-vous m’aider s’il vous plait et me dire si la convention que j’ai effectuée est correcte ou s’il y a des changements à faire ?

    Code Windows (.bat):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    @echo off
    color 3
    title  ~ "Serveur" ~ : ON
    : loop
    echo (%date%) (%time%) Le Serveur a correctement demarrer !
    "C:\Program Files\Java\jre7\bin\java" -jar -Xms500m -Xms500m coeur.jar"
    echo (%date%) (%time%)
    echo /!\ ATTENTION : Le serveur a crash, redemarrage automatique /!\
    goto loop
    Ce que j'ai compris (sans le reboot automatique ) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    #!/bin/bash
    while :
    do
    -jar -Xms500m -Xms500m coeur.jar
    done
    Deja tu peux remplacer while : par while true (plus parlant). Ensuite faut penser a lancer java car pour l'instant, tu ne lances que -jar ce qui ne veut rien dire.
    Toutefois je ne comprends pas pourquoi tu boucles en permanence. Ca veut dire que si coeur.jar s'arrete, tu le relances aussitot ?

    Moi je tenterais un truc de ce genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    #!/bin/bash
    while true
    do
        java -jar -Xms500m -Xms500m coeur.jar; status=$?
        test $status -eq 0 && break
        echo "Le serveur a ete interrompu - Relancement automatique"
    done
    En shell, la variable $? contient l'etat de la derniere commande (donc ici c'est java). Je commence par la sauvegarder (parce que toute autre commande eventuelle ecrasera sa valeur) puis ensuite je regarde si elle vaut 0 (convention signifiant "arret normal") ou pas. Si elle vaut 0 (ton coeur s'est termine proprement) je quitte la boucle sinon je le relance. C'est peut-etre pas ce que tu veux mais c'est pour te montrer les possibilites du shell et te permettre d'adapter...

    Citation Envoyé par valoub21 Voir le message
    Puis les commandes a faire sur linux:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    [ #] chmod +x coeur.sh
    [ #] ./coeur.sh
    Le chmod +x n'est a faire qu'une seule fois. En effet, pour des questions de securite, un fichier nouvellement cree n'est jamais executable mais une fois le droit mis, celui-ci reste...

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Février 2013
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Merci ! de ta réponse Sve@r.
    Je vais donc tester ta solution pour voir si cela conviens a mon coeur java.
    Le but sous Windows et de charger le jar et l’exécuter en commande pour avoir une connexion au jeux en luis même puis à la base de donnée contenant les monstres, et compte des jeux en ligne.

    Je vous tiens au courant !

    Cordialement.

Discussions similaires

  1. BAT pour conversion d'un fichier binaire en .mes
    Par procrastination dans le forum Programmation système
    Réponses: 1
    Dernier message: 14/10/2014, 17h46
  2. [JavaService] Conversion d'un .bat
    Par Ghurdyl dans le forum EDI et Outils pour Java
    Réponses: 1
    Dernier message: 04/05/2011, 22h24
  3. [conversion bat en vbs]
    Par duchmul dans le forum VBScript
    Réponses: 2
    Dernier message: 20/01/2010, 10h43
  4. Conversion BAT to SH
    Par qdqdfqfdqdxcwcrzsdfw dans le forum Shell et commandes GNU
    Réponses: 15
    Dernier message: 25/05/2007, 11h43
  5. Conversion .bat en shell
    Par luc2verga dans le forum Linux
    Réponses: 2
    Dernier message: 05/08/2004, 18h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo