Actions

 Langue:
 Flux RSS:


La commande test


La commande Test est une commande Unix. Elle n'est pas une commande interne du shell. Elle permet de tester l'existence et le status d'une variable, ou de réaliser des comparaisons sur des variables, un fichier, ...
Test renvoie la valeur 0 si la condition est vérifiée. On appelle la commande par test ou [ ].

Comparaison d'entiers

  • -eq

      est égal à
      if [ "$a" -eq "$b" ]
      sera vrai lorsque les nombres contenus dans les variables $a et $b sont identiques.
  • -ne

      n'est pas égal à
      if [ "$a" -ne "$b" ]
      sera vrai lorsque les nombres contenus dans les variables $a et $b ne sont pas identiques.
  • -gt

      est superieur à
      if ["$a" -gt "$b" ]
      sera vrai lorsque le nombre contenu dans la variable $a est superieur à $b.
  • -ge

      est superieur ou égal à
      if [ "$a" -ge "$b" ]
      sera vrai lorsque le nombre contenu dans la variable $a est superieur ou égal à $b.
  • -lt

      est interieur à
      if [ "$a" -lt "$b" ]
      sera vrai lorsque le nombre contenu dans la variable $a est interieur à $b.
  • -le

      est inferieur ou égal à
      if [ "$a" -le "$b" ]
      sera vrai lorsque le nombre contenu dans la variable $a est interieur ou égal à $b.

Comparaison de chaines de caractères

  • =

      est égal à
      if [ "$a" = "$b" ]
      sera vrai lorsque les chaines de caractères $a et $b sont identiques.
  • !=

      n'est pas égal à
      if [ "$a" != "$b" ]
      sera vrai lorsque les chaines de caractères $a et $b ne sont pas identiques.
  • <

      est plus petit que, d'après l'ordre alphabétique ASCII
      if [[ "$a" < "$b" ]]
      if [ "$a" \< "$b" ]
      Notez que "<" a besoin d'être dans une séquence d'échappement s'il se trouve à l'interieur de [ ].
  • >

      est plus grand que, d'après l'ordre alphabétique ASCII
      if [[ "$a" > "$b" ]]
      if [ "$a" > "$b" ]
      Notez que ">" a besoin d'être dans une séquence d'échappement s'il se trouve à l'interieur de [ ].
  • -z

      La chaîne de caractères est vide. C'est-à-dire qu'elle a une taille nulle
      if [ -z "$a" ]
  • -n

      La chaîne de caractères n'est pas vide.
      if [ -n "$a" ]

Tests sur les fichiers

  • -e

      Vérifie si le fichier existe
      if [ -e "$fichier" ]
      sera vrai si le fichier existe.
  • -r

      Vérifie si le fichier est accessible en lecture
      if [ -r "$fichier" ]
      sera vrai si le fichier existe, et est accessible en lecture.
  • -w

      Vérifie si le fichier est accessible en écriture
      if [ -w "$fichier" ]
      sera vrai si le fichier existe, et est accessible en écriture.
  • -d

      Vérifie si le répertoire existe
      if [ -d "$repertoire" ]
      sera vrai si le répertoire existe.

     

    Retour