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
tutoriel:script_shell [Le 29/02/2024, 12:55] – ancienne révision (Le 11/09/2022, 12:20) restaurée Amiralgabytutoriel:script_shell [Le 24/04/2026, 14:08] (Version actuelle) – [La structure : `if`] note [] vs [[]] bcag2
Ligne 112: Ligne 112:
  
 ===== Les variables ===== ===== Les variables =====
-Il faut savoir que en bash les variables sont toutes des chaînes de caractères.\\+Il faut savoir qu'en bash les variables sont toutes des chaînes de caractères.\\
 Cela dépendra de son USAGE, pour une opération arithmétique prochaine voir : let ma_variable sinon pour conserver une valeur : Cela dépendra de son USAGE, pour une opération arithmétique prochaine voir : let ma_variable sinon pour conserver une valeur :
 il suffit de lui donner un nom et une valeur avec l'affectation égale : il suffit de lui donner un nom et une valeur avec l'affectation égale :
Ligne 266: Ligne 266:
 Exemple: besoin de définir des plages de valeurs (1 à 500 puis 501 à 1000 puis 1001 à 1500…) Exemple: besoin de définir des plages de valeurs (1 à 500 puis 501 à 1000 puis 1001 à 1500…)
 <code bash> <code bash>
-id_per_step = 500+id_per_step=500
 for (( i=0; i<8; i++ )); do for (( i=0; i<8; i++ )); do
  (( min_step_id = 1 + $i * $id_per_step ))  (( min_step_id = 1 + $i * $id_per_step ))
Ligne 284: Ligne 284:
  
 ^ Syntaxe ^ Fonction réalisée ^ ^ Syntaxe ^ Fonction réalisée ^
-| -e fichier      | renvoie 0 si fichier existe.                           | +| -e fichier (ou répertoire)      | renvoie 0 si fichier/répertoire existe.                           | 
-| -d fichier      | renvoie 0 si fichier existe et est un répertoire.      +| -d répertoire                 | renvoie 0 si fichier existe et est un répertoire.                 
-| -f fichier      | renvoie 0 si fichier existe et est un fichier 'normal'.| +| -f fichier                    | renvoie 0 si fichier existe et est un fichier (pas un répertoire).| 
-| -w fichier      | renvoie 0 si fichier existe et est en écriture.        +| -w fichier                    | renvoie 0 si fichier existe et est en écriture.                   
-| -x fichier      | renvoie 0 si fichier existe et est exécutable.         +| -x fichier                    | renvoie 0 si fichier existe et est exécutable.                    
-| f1 -nt f2       | renvoie 0 si f1 est plus récent que f2.                +| f1 -nt f2                     | renvoie 0 si f1 est plus récent que f2.                           
-| f1 -ot f2       | renvoie 0 si f1 est plus vieux que f2.                 |+| f1 -ot f2                     | renvoie 0 si f1 est plus vieux que f2.                            | 
 +<note tip>Si vous préférez vérifier que votre //fichier/répertoire// N’existe PAS, //-e// -> //! -e//</note>
  
 === Opérateurs de comparaison numérique === === Opérateurs de comparaison numérique ===
Ligne 390: Ligne 391:
 fi fi
 </code> </code>
 +<note tip>Simple ou double crochets ?(((EN) https://stackoverflow.com/questions/13542832/what-is-the-difference-between-single-and-double-square-brackets-in-bash et \\ (FR) https://blog.stephane-robert.info/docs/admin-serveurs/linux/exploiter/scripts/conditions-bash/#--vs---vs-))\\  
 +Les crochets simples [] correspondent à des tests de condition conformes au shell POSIX.\\  
 +Les doubles permettent d'avantage d'opérations dont les expressions rationelles ([[wpfr>Expression_régulière|REGEX]])\\  
 +Préférez les crochets simples pour une meilleure compatibilité. 
 +</note>
 === Explication === === Explication ===