logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 06-10-2015 17:07:19

milou
Membre
Lieu : Sur une autre planète....
Distrib. : Jessie - Stretch/Sid
Noyau : 3.16.0-4-amd64
(G)UI : Lxde
Inscription : 12-02-2015

[wiki] - Bash : les opérateurs de comparaison numérique

Création de la page retours pour la page wiki https://debian-facile.org/doc:programma … -numerique
Page taguée à placer, sortie du chantier, placée dans :doc:programmation:shells

Mise en conformité de l'en-tête, suppression du tag à placer
Modification des liens des pages pointant vers celles sorties du chantier

Commandes passées en blocs user et leurs retours en bloc file
Aéré un peu la disposition pour certains passages.

Lien vers cette page wiki rajouté sur la page mère https://debian-facile.org/viewtopic.php?id=8804

J’adorerais changer le monde, mais ils ne veulent pas me fournir le code source
Un vrai geek, c'est un mec qui croit que dans 1km, il y a 1024 mètres
Dans le doute, rebootes. Si tu te tâtes, formates.
1453651422.jpg

Hors ligne

#2 06-10-2015 17:52:22

paskal
autobahn
Lieu : ailleurs
Inscription : 14-06-2011
Site Web

Re : [wiki] - Bash : les opérateurs de comparaison numérique

Pffffff, étourdissante ...  cool

I'd love to change the world
But I don't know what to do
So I'll leave it up to you...

logo-sur-fond.png

Hors ligne

#3 06-10-2015 17:56:24

milou
Membre
Lieu : Sur une autre planète....
Distrib. : Jessie - Stretch/Sid
Noyau : 3.16.0-4-amd64
(G)UI : Lxde
Inscription : 12-02-2015

Re : [wiki] - Bash : les opérateurs de comparaison numérique

à qui le dis-tu, je m'y perds moi-même ..... lol

J’adorerais changer le monde, mais ils ne veulent pas me fournir le code source
Un vrai geek, c'est un mec qui croit que dans 1km, il y a 1024 mètres
Dans le doute, rebootes. Si tu te tâtes, formates.
1453651422.jpg

Hors ligne

#4 06-10-2015 18:19:58

paskal
autobahn
Lieu : ailleurs
Inscription : 14-06-2011
Site Web

Re : [wiki] - Bash : les opérateurs de comparaison numérique

lol lol lol

I'd love to change the world
But I don't know what to do
So I'll leave it up to you...

logo-sur-fond.png

Hors ligne

#5 06-10-2015 18:20:55

milou
Membre
Lieu : Sur une autre planète....
Distrib. : Jessie - Stretch/Sid
Noyau : 3.16.0-4-amd64
(G)UI : Lxde
Inscription : 12-02-2015

Re : [wiki] - Bash : les opérateurs de comparaison numérique

lol

J’adorerais changer le monde, mais ils ne veulent pas me fournir le code source
Un vrai geek, c'est un mec qui croit que dans 1km, il y a 1024 mètres
Dans le doute, rebootes. Si tu te tâtes, formates.
1453651422.jpg

Hors ligne

#6 07-10-2015 12:02:15

milou
Membre
Lieu : Sur une autre planète....
Distrib. : Jessie - Stretch/Sid
Noyau : 3.16.0-4-amd64
(G)UI : Lxde
Inscription : 12-02-2015

Re : [wiki] - Bash : les opérateurs de comparaison numérique

Remplacement d'un lien cassé

J’adorerais changer le monde, mais ils ne veulent pas me fournir le code source
Un vrai geek, c'est un mec qui croit que dans 1km, il y a 1024 mètres
Dans le doute, rebootes. Si tu te tâtes, formates.
1453651422.jpg

Hors ligne

#7 07-10-2015 18:35:31

milou
Membre
Lieu : Sur une autre planète....
Distrib. : Jessie - Stretch/Sid
Noyau : 3.16.0-4-amd64
(G)UI : Lxde
Inscription : 12-02-2015

Re : [wiki] - Bash : les opérateurs de comparaison numérique

Derniers liens rendus obsolètes par la sortie des pages du chantier, remplacés

J’adorerais changer le monde, mais ils ne veulent pas me fournir le code source
Un vrai geek, c'est un mec qui croit que dans 1km, il y a 1024 mètres
Dans le doute, rebootes. Si tu te tâtes, formates.
1453651422.jpg

Hors ligne

#8 22-10-2015 12:45:31

milou
Membre
Lieu : Sur une autre planète....
Distrib. : Jessie - Stretch/Sid
Noyau : 3.16.0-4-amd64
(G)UI : Lxde
Inscription : 12-02-2015

Re : [wiki] - Bash : les opérateurs de comparaison numérique

Scripts passés en blocs code bash script
Remplacement d'un lien cassé suite à la sortie de la nouvelle série de pages du chantier

J’adorerais changer le monde, mais ils ne veulent pas me fournir le code source
Un vrai geek, c'est un mec qui croit que dans 1km, il y a 1024 mètres
Dans le doute, rebootes. Si tu te tâtes, formates.
1453651422.jpg

Hors ligne

#9 13-02-2023 21:49:49

agp91
Membre
Distrib. : Debian GNU/Linux 11 (bullseye)
Noyau : Linux 5.10.0-20-amd64
(G)UI : xfce4
Inscription : 12-02-2023

Re : [wiki] - Bash : les opérateurs de comparaison numérique

J'avoue que la j'ai du mal à comprendre tant il y a d'erreurs et de contradictions  (haha j'ai mal au bash) :

  • Les opérateurs booléens de comparaison numérique, cela n'existe pas ! Les opérateurs booléens travaillent sur des opérandes booléens et non numériques. Les opérateurs de comparaison numériques travaillent sur des opérandes numériques.

  • L'opérateur ! n'est pas un opérateur de comparaison. Lui, c'est un opérateur booléen unaire : Il prend une valeur booléenne et retourne son inverse (que l'on nomme négation).

  • Avec la commande composée d’évaluation numérique ((,

    • l'opérateur = n'est pas un opérateur de comparaison, mais d'affectation. Il d'abord présent dans le tableau des opérateurs de comparaison, puis utilisé comme opérateur d'affection. En nous expliquant qu'il doit etre utilisé avec des espaces. Pourtant (( a = 1 )) et ((a=1)) sont identiques, identique a=1 ou déclare -i a=1 (quoi que avec declare -i, a ne pourra etre valorisé qu'avec des valeur numérique, tout comme ((a=<numérique>). Tandis qu'avec l'affection a=<valeur>, a pourra mémorisé n'importe quelle chaîne de caractère)

    • Il nous est aussi expliqué qu'on ne vérifie pas si deux nombres sont égaux avec les doubles parenthèses car cela n'est pas une comparaison. Pourtant dans le tableau des opérateurs de comparaison on trouve l'opérateur == décrit comme comparaison d'une égalité

  • Puis on assiste au mauvais usage de la commande [ avec l’opérateur > non protégé (erreur fréquente) qui permet d'affirmer la monstruosité que dans le classement lexicographique 23 est > à 24.

  • Et on atteint des sommets avec le script :


#!/bin/bash
    var1=8
    var2=7
    if test "$e" -gt "$f" ; then
      echo " $var1 est plus grand que $var2 "
    fi
    echo " "
    if test 8 -gt 7 ; then
      echo " $var1 est plus grand que $var2 "
    fi

Avec le retour donné

: ligne 18 : test:  : nombre entier attendu comme expression

8 est plus grand que 7

  • Ou est la ligne 18 ? Dans un script qui fait 10 lignes !


Haha, si avec cela le débutant n'est pas parti, les cheveux ébouriffés, en courant , gesticulant en tous sens et criant whazzza, pour ne jamais revenir.

Je comprends :

paskal a écrit :

Pffffff, étourdissante ...  cool

milou a écrit :

à qui le dis-tu, je m'y perds moi-même ..... lol


Bon ok la critique est facile, voyons se que l'on peut modifier pour corriger et améliorer tout cela.

Dernière modification par agp91 (14-02-2023 09:54:35)

Hors ligne

#10 15-02-2023 19:12:47

agp91
Membre
Distrib. : Debian GNU/Linux 11 (bullseye)
Noyau : Linux 5.10.0-20-amd64
(G)UI : xfce4
Inscription : 12-02-2023

Re : [wiki] - Bash : les opérateurs de comparaison numérique

Modification de la page

  • Ajout d'une section Introduction.

    • Énumération des commande permettant la comparaison numérique

    • Ajout de rappels élémentaires.

  • Modification du titre "Opérateurs booléens de comparaison de nombres" en Comparaison numérique avec ((.

    • Suppression de l'ineptie : Comme aux chapitres précédents on retrouve les opérateurs de comparaisons booléens de comparaison (== , != , < , > , >=, ⇐ , ! ).

    • Déplacement et réécriture de la syntaxe des commandes ((, ajout de la commande let.

    • Ajout d'un titre au tableau des opérateurs de comparaison.

    • Suppression de l'opérateur d'affectation = du tableau des opérateurs de comparaison. Sa place est dans la page suivante (Bash : les symboles dans les calculs) de cette série de documentation.

    • Suppression l'ineptie : "Attention on ne vérifie pas si deux nombres sont égaux avec les doubles parenthèses car cela n'est pas une comparaison ! ".[/n]

    • Ajout d'une sous-section Exemples dans le terminal.

      • Réécriture des exemples pour qu'il soit plus lisible, suppression des affections avec la commande ((. Ajout d'exemples pour la commande let

      • Ajout d'exemples pour (( et let montrant que $ n'est pas nécessaire pour développer les paramètre pas nécessaires .

      • Ajout d'exemples montrant que les espaces ne sont pas obligatoire pour ((.

    • Ajout de la sous-section mauvais usages.

      • Ajout d'exemples montrant que let n'accepte pas les espaces

      • Ajout d'exemples expliquant pourquoi les opérateur <, <=, > et >= doivent être protégés avec let

      • Ajout d'exemple montrant que les opérandes sont obligatoires

      • Ajout d'exemples montrant que les opérandes ne peuvent être des chaînes de caractères avec des espaces.

    • Ajout d'une section Exemple dans un script.

      • Ajout de l'explication pourquoi le script retourne 0 même si le test effectué dans le script échoue.

    • Ajout d'une section Exemple dans une fonction.

      • Ajout de l''exemple de la fonction test_si_négatif.

    • Déplacement et réécriture  du bloc d'alerte sur l'usage des opérateur < et >, dans la section suivante.

  • Modification du titre "Opérateurs de comparaison de nombres avec la commande test ou les crochets" en Comparaison numérique avec [ et [[.

    • Suppression des sous-sections{/*]

    • Suppression de l'ineptie : "(pour comparer des nombres comme avec les booléens, mais avec la commande test ou crochets)".

    • Déplacement et réécriture de la syntaxe de la commande, ajout de la syntaxe de la commande [[.

    • Ajout d'un titre au tableau des opérateurs de comparaison.

    • Ajout de la sous section Exemples dans le terminal.

      • Regroupe les exemples des trois commandes en un seul bloc

    • Ajout de la sous-section Particularités de [[

      • Ajout d'exemples de l'évaluation d'une expression arithmétique.

      • Ajout d'exemples pour des opérandes vides

      • Ajout d'exemples pour des opérandes mots

    • Ajout de la sous-section Mauvais usages

      • Ajout d'exemples pour [ et test avec chaînes vides

      • Ajout d'exemple pour [ et test avec des mots

      • Ajout d'exemples pour [, test et [[ avec des opérandes chaines de caractères

      • Ajout d'exemples pour [, test et [[ montrant que les 2 opérandes sont obligatoires

      • Ajout d'exemples pour [, test et [[ montrant que les espaces sont obligatoires

    • Ajout de la sous-section Exemples dans un script

      • Regroupement des exemples dans un seul script

      • Modification du dernier script : remplacement de echo " " par printf \\n

      • Correction du retour de ce dernier script



Voila jusqu'à là.
Je ne sais pas quoi faire avec la section Conclusion sur les opérateurs lexicographiques et les opérateurs de comparaison numérique
Les opérateurs de (ou sur) fichiers ne sont pas des opérateurs lexicographiques.
D’ailleurs les opérateurs lexicographique je ne sais pas si cela existe. Il y a bien les opérateur de comparaison lexicographiques qui sont seulement deux sous bash , < et > avec les commandes [ (ou test) et [[.
La suite n'es pas plus juste.
... Peut-etre le supprimer tout simplement.

La section suivante (et dernière) n'a pas sa place sur cette page.
Les opérateurs logiques ou (booléens), n'ont rien à faire sur une page nommée "les opérateurs de comparaison numérique".
Et ils sont aussi disponibles avec les commandes let et ((.

Hors ligne

#11 21-02-2023 03:18:55

agp91
Membre
Distrib. : Debian GNU/Linux 11 (bullseye)
Noyau : Linux 5.10.0-20-amd64
(G)UI : xfce4
Inscription : 12-02-2023

Re : [wiki] - Bash : les opérateurs de comparaison numérique

Page modifiée

  • Déplacement de la section Comparaison numérique avec [ et [[ au début (pour le lien avec la page précédente qui utilise uniquement les commande de test.)

  • Suppression de la section Conclusion sur les opérateurs lexicographiques et les opérateurs de comparaison numérique

  • MAJ du lien interne de la section Tuto précédent

  • MAJ de l'entête :

    • Ajout de la date de modification (Modifié par ... le ...)

    • Ajout du tag à-tester

    • MAJ du sommaire du projet

Dernière modification par agp91 (21-02-2023 03:20:42)

Hors ligne

Pied de page des forums