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

Linux Discussion :

Script Shell d'installation et saisies dans un Make


Sujet :

Linux

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2004
    Messages
    68
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2004
    Messages : 68
    Par défaut Script Shell d'installation et saisies dans un Make
    Bonjour,

    J'ai fais un Script d'installation automatique pour psyBNC que voici :

    #!/bin/sh

    tar zxvf psyBNC.tar.gz
    wait
    mv psybnc/ $1/
    cd $1/
    make
    wait
    echo PSYBNC.SYSTEM.PORT1=8990 >> _$1.conf
    echo PSYBNC.SYSTEM.HOST1=* >> _$1.conf
    echo PSYBNC.HOSTALLOWS.ENTRY0=*;* >> _$1.conf
    ./psybnc _$1.conf
    wait
    echo "BNC Correctly Installed."
    exit 0
    Mon seul problème se trouve au niveau du make (en gras). Quand je lance celui ci, il me demande des saisies comme par exemple ci-dessous :

    -----
    Country Name [DE]: FR
    State/Province [Somewhere]:
    etc.
    Comment faire pour que dans mon Script ça renseigne automatiquement la première saisie en "FR", la 2ème en "PACA", etc. ?

    Merci par avance !

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 25
    Par défaut
    Heu, dans ton make, tu ne peux pas les saisir directement via des arguments pour éviter l'interactivité ?

  3. #3
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2004
    Messages
    68
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2004
    Messages : 68
    Par défaut
    Je sais pas trop...

    Voici le Makefile :

    CC = gcc
    CCFLAGS =

    all: $(OBJS)
    @echo Initializing bouncer compilation
    @echo[*] Running Conversion Tool for older psyBNC Data.
    @$(CC) tools/convconf.c -o tools/convconf
    @tools/convconf
    @echo[*] Running Autoconfig.
    @$(CC) -I. tools/autoconf.c -o tools/autoconf
    @tools/autoconf
    @echo[*] Compiling MakeSalt for Encryption..
    @$(CC) -I. -o makesalt tools/makesalt.c
    @./makesalt
    @echo[*] Compiling Bouncer..
    @make -f makefile.out
    @ls -al psybnc
    @echo done.

    menuconfig:
    @echo Initializing Menu-Configuration
    @echo[*] Running Conversion Tool for older psyBNC Data.
    @$(CC) tools/convconf.c -o tools/convconf
    @tools/convconf
    @echo[*] Running Autoconfig.
    @$(CC) -I. tools/autoconf.c -o tools/autoconf
    @tools/autoconf
    @echo[*] Creating Menu, please wait.
    @echo This needs the 'ncurses' library. If it is not available, menuconf wont work. If you are using 'curses', use make menuconfig-curses instead.
    @$(CC) menuconf/menuconf.c menuconf/inputbox.c menuconf/util.c menuconf/checklist.c menuconf/menubox.c menuconf/textbox.c src/snprintf.c -I. -lncurses -lm -o menuconf/menuconf 2>/dev/null
    @menuconf/menuconf
    @clear
    @echo Now compile psyBNC using make, if not yet compiled, or if Options were changed.
    @echo done.

    menuconfig-curses:
    @echo Initializing Menu-Configuration using Curses
    @echo[*] Running Conversion Tool for older psyBNC Data.
    @$(CC) tools/convconf.c -o tools/convconf
    @tools/convconf
    @echo[*] Running Autoconfig.
    @$(CC) -I. tools/autoconf.c -o tools/autoconf
    @tools/autoconf
    @echo[*] Creating Menu, please wait.
    @echo This needs the 'curses' library. If it is not available, menuconf wont work.
    @$(CC) menuconf/menuconf.c menuconf/inputbox.c menuconf/util.c menuconf/checklist.c menuconf/menubox.c menuconf/textbox.c src/snprintf.c -DNONCURSES -I. -lcurses -lm -o menuconf/menuconf 2>/dev/null
    @menuconf/menuconf
    @clear
    @echo Now compile psyBNC using make, if not yet compiled, or if Options were changed.
    @echo done.

    dist:
    cd ..; tar -cvf psyBNC2.3.2-4.tar psybnc; gzip -c psyBNC2.3.2-4.tar > psyBNC2.3.2-4.tar.gz; rm psyBNC2.3.2-4.tar

    clean:
    @echo Cleaning.
    rm -rf src/*.o
    Et le ce que me donne un make --help :

    services@ks361960 ~/service_bouncers/psybnc $ make --help
    Usage : make [options] [cible] ...
    Options:
    -b, -m Ignored for compatibility.
    -B, --always-make Unconditionally make all targets.
    -C DIRECTORY, --directory=DIRECTORY
    Change to DIRECTORY before doing anything.
    -d Print lots of debugging information.
    --debug[=FLAGS] Print various types of debugging information.
    -e, --environment-overrides
    Environment variables override makefiles.
    -f FILE, --file=FILE, --makefile=FILE
    Read FILE as a makefile.
    -h, --help Print this message and exit.
    -i, --ignore-errors Ignore errors from commands.
    -I DIRECTORY, --include-dir=DIRECTORY
    Search DIRECTORY for included makefiles.
    -j [N], --jobs[=N] Allow N jobs at once; infinite jobs with no arg.
    -k, --keep-going Keep going when some targets can't be made.
    -l [N], --load-average[=N], --max-load[=N]
    Don't start multiple jobs unless load is below N.
    -n, --just-print, --dry-run, --recon
    Don't actually run any commands; just print them.
    -o FILE, --old-file=FILE, --assume-old=FILE
    Consider FILE to be very old and don't remake it.
    -p, --print-data-base Print make's internal database.
    -q, --question Run no commands; exit status says if up to date.
    -r, --no-builtin-rules Disable the built-in implicit rules.
    -R, --no-builtin-variables Disable the built-in variable settings.
    -s, --silent, --quiet Don't echo commands.
    -S, --no-keep-going, --stop
    Turns off -k.
    -t, --touch Touch targets instead of remaking them.
    -v, --version Print the version number of make and exit.
    -w, --print-directory Print the current directory.
    --no-print-directory Turn off -w, even if it was turned on implicitly.
    -W FILE, --what-if=FILE, --new-file=FILE, --assume-new=FILE
    Consider FILE to be infinitely new.
    --warn-undefined-variables Warn when an undefined variable is referenced.

    This program built for i686-pc-linux-gnu
    Report bugs to <bug-make@gnu.org>
    Je sais pas trop quoi faire avec ça !

  4. #4
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 835
    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 835
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Phenol Voir le message
    Bonjour,

    J'ai fais un Script d'installation automatique pour psyBNC que voici :
    #!/bin/sh

    tar zxvf psyBNC.tar.gz
    wait
    mv psybnc/ $1/
    cd $1/
    make
    wait
    echo PSYBNC.SYSTEM.PORT1=8990 >> _$1.conf
    echo PSYBNC.SYSTEM.HOST1=* >> _$1.conf
    echo PSYBNC.HOSTALLOWS.ENTRY0=*;* >> _$1.conf
    ./psybnc _$1.conf
    wait
    echo "BNC Correctly Installed."
    exit 0




    Mon seul problème se trouve au niveau du make (en gras). Quand je lance celui ci, il me demande des saisies comme par exemple ci-dessous :

    Comment faire pour que dans mon Script ça renseigne automatiquement la première saisie en "FR", la 2ème en "PACA", etc. ?

    Merci par avance !
    Remplace dans ton script la commande "make" par les lignes suivantes:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    make <<_EOT_
    FR
    PACA
    Marseille
    truc
    chose
    ... <autant de ligne que t'as de réponse à fournir >...
    _EOT_
    Et pis c'est tout

    PS: les 2 wait que t'as mis sont inutiles. L'instruction wait a pour but d'attendre la fin d'un processus lancé en arrière-plan mais comme là tous tes processus sont lancés en simple tâche...
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  5. #5
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2004
    Messages
    68
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2004
    Messages : 68
    Par défaut
    Ca fonctionne impec' !

    Merci bien !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Script shell pour renommer des fichiers dans des sous répértoires
    Par ibuto dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 25/12/2013, 20h52
  2. script pour afficher la date saisie dans un formulaire
    Par chidap dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 26/11/2011, 12h03
  3. script shell pour remplacer un mot dans un fichier
    Par MSM_007 dans le forum Linux
    Réponses: 2
    Dernier message: 17/06/2010, 20h37
  4. script shell d'installation
    Par nora2311 dans le forum Shell et commandes GNU
    Réponses: 8
    Dernier message: 14/05/2009, 16h52
  5. Script shell - écriture dans un fichier
    Par Leishmaniose dans le forum Linux
    Réponses: 6
    Dernier message: 13/12/2004, 22h48

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