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 :

Je ne comprends pas un script


Sujet :

Shell et commandes GNU

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2021
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2021
    Messages : 3
    Par défaut Je ne comprends pas un script
    Bonjour à tous,

    Je dois faire un TP dans le cadre de mon école et le prof nous a donné un script mais je ne comprends pas trop ce qu'il fait.

    Ce serait très sympa si quelqu'un pouvait commenter le script pour me dire ce que chaque ligne fait exactement car je ne vois pas du tout

    Voir ci-dessous :

    Nom : Capture d’écran 2021-05-25 132847.png
Affichages : 112
Taille : 72,4 Ko

  2. #2
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 640
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 640
    Par défaut
    Bonjour,

    1/ il est préférable de ne pas faire de capture d'un code,
    mais de faire un copier/coller du code, afin que nous puissions aussi le copier dans notre éditeur favori.
    2/
    Ce serait très sympa si quelqu'un pouvait commenter le script
    ce serait sympa, mais c'est ton devoir.
    nous, on ne fait pas les devoirs des autres; ou alors, il faudra nous donner ton diplôme.

    dis-nous comment tu interprètes les lignes du code, et on en discutera.
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2021
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2021
    Messages : 3
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    #!/bin/bash
     
    function server_sendMessage #On crée une fonction "server_sendMessage"
    {
    	local ADDRESS=${1} #On déclare 3 variables qui ne pourront être utilisées que dans cette fonction, mais je ne sais pas pourquoi il y a "${1}
    	local PORT=${2}
    	local MESSAGE=${3}
     
    	echo -ne ${MESSAGE} | nc -N ${ADDRESS} ${PORT} #On envoie la valeur de MESSAGE sur le serveur à l'adresse ADRESS et sur le port PORT
    	while [[ $? -eq 1 ]] #Tant qu'il y a une erreur la boucle while s'effectue
    	do
    		echo -ne ${MESSAGE} | nc -N ${ADDRESS} ${PORT} #Du coup tant qu'il y a une erreur on continue d'essayer d'envoyer MESSAGE
    	done
    }
     
    A=$(nc -l 1234) #La je ne comprends pas ce que c'est censé faire 
    server_sendMessage "127.0.0.1" 1234 "OK" #On envoie le message "OK" sur le serveur d'adresse 127.0.0.1 sur le port 1234
    echo $A
     
    sleep 3 #On attend 3s
     
    B=$(nc -l 1234) # LA meme chose qu'avec 'A' mais en changeant de variable ?
    server_sendMessage "127.0.0.1" 1234 "OK"
    echo $B

  4. #4
    Expert confirmé Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 287

  5. #5
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 640
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 640
    Par défaut
    On déclare 3 variables qui ne pourront être utilisées que dans cette fonction
    pas tout à fait.
    on crée des variables dont la portée ne dépassera pas la fonction : en dehors de la fonction, elle n'existe pas.
    ça permet d'avoir des variables qui portent le même nom dans des fonctions différentes, ou même dans le corps de script.

    il y a mieux à faire que de tester le premier résultat de nc : ne rien faire jusqu'à (until) ce que nc retourne "succès".

    la variable A est censée recueillir le message envoyé par la fonction.
    mais il y a un souci : la commande est bloquante, donc, on ne passe jamais aux instructions suivantes. :/

    bon, tu as l'air d'avoir compris ce que fait le script.

    PS: tu pourras faire la remarque à ton prof que les accolades autour des variables sont inutiles quand elles ne protègent pas d'une concaténation de la variable avec du texte, ou qu'il n'y a pas de substitution dans le développement de la variable,
    mais que, par contre, il faut toujours mettre les variables entre guillemets, à moins de savoir pourquoi.
    alors que pour les nombres et les IP c'est inutile.
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  6. #6
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2021
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2021
    Messages : 3
    Par défaut
    Merci c'est un peu plus clair maintenant

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

Discussions similaires

  1. Mon script provoque une erreur et je ne comprends pas ce qui cloche !
    Par philou8 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 05/06/2011, 11h46
  2. script simple que je ne comprend pas
    Par vb6.beginner dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 23/09/2009, 21h41
  3. Script que je ne comprends pas
    Par maximedouce dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 22/08/2008, 23h19
  4. un script bizarre en perl que je ne comprends pas
    Par angelino dans le forum Langage
    Réponses: 1
    Dernier message: 12/04/2007, 16h58
  5. [debutant] - Simple script qui plante IE.. comprend pas pourquoi..
    Par ShinJava dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 16/08/2006, 23h06

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