Outils pour utilisateurs

Outils du site


issue206:c_c

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
issue206:c_c [2024/07/01 09:17] d52frissue206:c_c [2024/07/01 17:04] (Version actuelle) andre_domenech
Ligne 13: Ligne 13:
 Si vous êtes un débutant et que quelqu'un vous dit de lire la page man, vous avez la permission de cracher dans son café. (OK, ne le faites pas.) Sérieusement, la page man est aussi utile à un débutant qu'une épingle sous une pluie diluvienne si vous ne savez pas ce que fait test.  Si vous êtes un débutant et que quelqu'un vous dit de lire la page man, vous avez la permission de cracher dans son café. (OK, ne le faites pas.) Sérieusement, la page man est aussi utile à un débutant qu'une épingle sous une pluie diluvienne si vous ne savez pas ce que fait test. 
  
-test ne dit rien... J'ai besoin que vous pensiez que c'est une commande de comparaison dans bash qui vous donne un booléen. C'est tout. Pour comprendre d'où cela vient, vous devez connaître un peu la programmation. Pas grand chose, juste assez pour vous faire mal. Vous voyez, quand un programme C se termine proprement, sans erreur, votre état de sortie est 0. Sinon, ce n'est pas 0. (vous comprenez ?) Il en va de même ici, vous évaluez ou comparez deux choses et vous obtenez 0 ou 1. Il n'y a pas de sens caché ou quoi que ce soit d'ésotérique. C'est vrai ou faux. Si vous voulez voir ce résultat, vous tapez : echo $?+test ne dit rien... Vous devez penser que c'est une commande de comparaison dans bash qui vous donne un booléen. C'est tout. Pour comprendre d'où cela vient, vous devez connaître un peu la programmation. Pas grand chose, juste assez pour vous faire mal. Vous voyez, quand un programme C se termine proprement, sans erreur, votre état de sortie est 0. Sinon, ce n'est pas 0. (vous comprenez ?) Il en va de même ici, vous évaluez ou comparez deux choses et vous obtenez 0 ou 1. Il n'y a pas de sens caché ou quoi que ce soit d'ésotérique. C'est vrai ou faux. Si vous voulez voir ce résultat, vous tapez : echo $?
  
  
Ligne 32: Ligne 32:
 mmm... Oh and be aware that there is a space after “[“ and one before “]” as,  with “[[“ it is then treated as a command. So what happened? Yes same pudding, different sauce. Go ahead and leave out the space, so you can see what the error looks like. No, really, this is important. Familiarity breeds contempt, if you are used to the error, you know how to fix it.** mmm... Oh and be aware that there is a space after “[“ and one before “]” as,  with “[[“ it is then treated as a command. So what happened? Yes same pudding, different sauce. Go ahead and leave out the space, so you can see what the error looks like. No, really, this is important. Familiarity breeds contempt, if you are used to the error, you know how to fix it.**
  
-Allez-y, ouvrez un terminal et tapez pour voir la valeur par défaut. Je ne vais pas vous dire ce que c'est, vous devez le voir par vous-même. OK, ceci étant dit, utilisons-le pour voir comment ça fonctionne. Tapez : +Allez-y, ouvrez un terminal et tapez-le pour voir la valeur par défaut. Je ne vais pas vous dire ce que c'est, vous devez le voir par vous-même. OK, cela étant fait, utilisons-le pour voir comment ça fonctionne. Tapez : 
  
 test 1 eq 2 ; echo $? test 1 eq 2 ; echo $?
Ligne 42: Ligne 42:
 C'est là que la page de manuel est utile, car elle vous aide à vous souvenir de tous les opérateurs de comparaison. Je ne vais pas les énumérer ici, vous avez un terminal. Si vous êtes de langue maternelle anglaise, vous devriez les connaître. Si ce n'est pas le cas, vous avez maintenant l'opportunité de les apprendre. C'est là que la page de manuel est utile, car elle vous aide à vous souvenir de tous les opérateurs de comparaison. Je ne vais pas les énumérer ici, vous avez un terminal. Si vous êtes de langue maternelle anglaise, vous devriez les connaître. Si ce n'est pas le cas, vous avez maintenant l'opportunité de les apprendre.
  
-Ce que je ne savais pas, c'est que j'ai toujours utilisé les tests, mais pas de cette manière. Ouvrez votre terminal et tapez : +Ce que je ne savais pas, c'est que j'utilise test depuis toujours, mais pas de cette manière. Ouvrez votre terminal et tapez : 
  
 [ 1 -eq 1 ] ; echo $? [ 1 -eq 1 ] ; echo $?
  
-mmm... Oh et attention, il y a un espace après « [ » et un avant « "] » car, avec « [[ », c'est traité comme une commande. Alors, que s'est-il passé ? Oui, même pudding, sauce différente. Allez-y, supprimez l'espace, pour que vous puissiez voir à quoi ressemble l'erreur. Non, vraiment, c'est important. La familiarité engendre le mépris ; si vous êtes habitué à l'erreur, vous savez comment la corriger.+mmm... Oh et attention, il y a une espace après « [ » et une avant « ] » car, avec « [[ », c'est traité comme une commande. Alors, que s'est-il passé ? Oui, même pudding, sauce différente. Allez-y, supprimez l'espace, pour que vous puissiez voir à quoi ressemble l'erreur. Non, vraiment, c'est important. La familiarité engendre le mépris ; si vous êtes habitué à l'erreur, vous savez comment la corriger.
  
  
Ligne 88: Ligne 88:
 Maintenant, recommencez, en intervertissant le 6 et le 7. Que s'est-il passé ? Vous voyez pourquoi j'ai dit que c'est une comparaison qui vous donne un booléen ?  Maintenant, recommencez, en intervertissant le 6 et le 7. Que s'est-il passé ? Vous voyez pourquoi j'ai dit que c'est une comparaison qui vous donne un booléen ? 
  
-NOTE : si vous êtes trop paresseux pour taper et copier/coller, rappelez-vous que this: « is not this: »+NOTE : si vous êtes trop paresseux pour taper et copier/coller, rappelez-vous que this: « is not this: ».
  
 Il s'agissait de nombres entiers, mais vous pouvez également le faire pour des chaînes de caractères. Pour les chaînes de caractères, nous pouvons utiliser « = » et « != » Il s'agissait de nombres entiers, mais vous pouvez également le faire pour des chaînes de caractères. Pour les chaînes de caractères, nous pouvons utiliser « = » et « != »
 Tapez :  Tapez : 
- 
-[ “FCM” = “fcm” ] ; echo $? 
- 
-Tapez:  
  
 [ “FCM” != “fcm” ] ; echo $? [ “FCM” != “fcm” ] ; echo $?
  
-Si vous n'avez pas eu ces t-shirts avant!= est drôle parce que c'est vrai, vous les aurez maintenant.+Si vous n'avez pas eu ces t-shirts avant!= est bizarre parce que c'est vrai, vous les aurez maintenant.
  
 Nous pouvons également utiliser les opérateurs « zéro » et "non-zéro", « -z » et « -n » Nous pouvons également utiliser les opérateurs « zéro » et "non-zéro", « -z » et « -n »
Ligne 132: Ligne 128:
 [ -e a.out ] ; echo $? [ -e a.out ] ; echo $?
  
-Ceci teste la présence d'un fichier nommé « a.out ».  Vous pouvez tester n'importe quel fichier. (en bas à gauche se trouve une capture d'écran pour le voir en action).+Cela teste la présence d'un fichier nommé « a.out ».  Vous pouvez tester n'importe quel fichier. (En bas à gauche se trouve une capture d'écran pour le voir en action.)
  
-J'ai donc un fichier nommé icon.svg, mais pas de fichier nommé icons.svg dans mon dossier.+Disons que j'ai un fichier nommé icon.svg, mais pas de fichier nommé icons.svgdans mon dossier.
  
-Maintenant, le « -e » est pour « exister », mais nous pouvons aussi vérifier s'il s'agit d'un fichier ou d'un dossier ; et oui, vous l'avez deviné, il s'agit de « -f » ou « -d ».  Comme je l'ai dit, ce n'est pas difficile.+Le « -e » est pour « exister », mais nous pouvons aussi vérifier s'il s'agit d'un fichier ou d'un dossier ; et oui, vous l'avez deviné, il s'agit de « -f » ou « -d ».  Comme je l'ai dit, ce n'est pas difficile.
  
 Comme vous pouvez le voir, une fois les bases acquises, le reste se met en place. Par exemple, voulez-vous savoir si un fichier a les droits d'écriture ? Comme vous pouvez le voir, une fois les bases acquises, le reste se met en place. Par exemple, voulez-vous savoir si un fichier a les droits d'écriture ?
issue206/c_c.1719818266.txt.gz · Dernière modification : 2024/07/01 09:17 de d52fr