Warning: preg_match(): Compilation failed: group name must start with a non-digit at offset 8 in /var/www/sdb/e/8/system.co/includes/MagicWord.php on line 722

Warning: preg_match(): Compilation failed: group name must start with a non-digit at offset 8 in /var/www/sdb/e/8/system.co/includes/MagicWord.php on line 722

Warning: preg_match_all(): Compilation failed: group name must start with a non-digit at offset 4 in /var/www/sdb/e/8/system.co/includes/MagicWord.php on line 700

Warning: Invalid argument supplied for foreach() in /var/www/sdb/e/8/system.co/includes/MagicWord.php on line 701

Warning: preg_replace(): Compilation failed: group name must start with a non-digit at offset 4 in /var/www/sdb/e/8/system.co/includes/MagicWord.php on line 705

Warning: preg_match_all(): Compilation failed: group name must start with a non-digit at offset 4 in /var/www/sdb/e/8/system.co/includes/MagicWord.php on line 700

Warning: Invalid argument supplied for foreach() in /var/www/sdb/e/8/system.co/includes/MagicWord.php on line 701

Warning: preg_replace(): Compilation failed: group name must start with a non-digit at offset 4 in /var/www/sdb/e/8/system.co/includes/MagicWord.php on line 705

Warning: preg_match(): Compilation failed: group name must start with a non-digit at offset 8 in /var/www/sdb/e/8/system.co/includes/MagicWord.php on line 722

Warning: preg_match_all(): Compilation failed: group name must start with a non-digit at offset 4 in /var/www/sdb/e/8/system.co/includes/MagicWord.php on line 700

Warning: Invalid argument supplied for foreach() in /var/www/sdb/e/8/system.co/includes/MagicWord.php on line 701

Warning: preg_replace(): Compilation failed: group name must start with a non-digit at offset 4 in /var/www/sdb/e/8/system.co/includes/MagicWord.php on line 705

Warning: preg_match_all(): Compilation failed: group name must start with a non-digit at offset 4 in /var/www/sdb/e/8/system.co/includes/MagicWord.php on line 700

Warning: Invalid argument supplied for foreach() in /var/www/sdb/e/8/system.co/includes/MagicWord.php on line 701

Warning: preg_replace(): Compilation failed: group name must start with a non-digit at offset 4 in /var/www/sdb/e/8/system.co/includes/MagicWord.php on line 705

Warning: preg_match_all(): Compilation failed: group name must start with a non-digit at offset 4 in /var/www/sdb/e/8/system.co/includes/MagicWord.php on line 700

Warning: Invalid argument supplied for foreach() in /var/www/sdb/e/8/system.co/includes/MagicWord.php on line 701

Warning: preg_replace(): Compilation failed: group name must start with a non-digit at offset 4 in /var/www/sdb/e/8/system.co/includes/MagicWord.php on line 705

Warning: preg_match_all(): Compilation failed: group name must start with a non-digit at offset 4 in /var/www/sdb/e/8/system.co/includes/MagicWord.php on line 700

Warning: Invalid argument supplied for foreach() in /var/www/sdb/e/8/system.co/includes/MagicWord.php on line 701

Warning: preg_replace(): Compilation failed: group name must start with a non-digit at offset 4 in /var/www/sdb/e/8/system.co/includes/MagicWord.php on line 705

Warning: preg_match(): Compilation failed: group name must start with a non-digit at offset 8 in /var/www/sdb/e/8/system.co/includes/MagicWord.php on line 722

Warning: preg_match(): Compilation failed: group name must start with a non-digit at offset 8 in /var/www/sdb/e/8/system.co/includes/MagicWord.php on line 722

Warning: preg_match(): Compilation failed: group name must start with a non-digit at offset 8 in /var/www/sdb/e/8/system.co/includes/MagicWord.php on line 722

Warning: preg_match(): Compilation failed: group name must start with a non-digit at offset 8 in /var/www/sdb/e/8/system.co/includes/MagicWord.php on line 722

Warning: preg_match_all(): Compilation failed: group name must start with a non-digit at offset 4 in /var/www/sdb/e/8/system.co/includes/MagicWord.php on line 700

Warning: Invalid argument supplied for foreach() in /var/www/sdb/e/8/system.co/includes/MagicWord.php on line 701

Warning: preg_replace(): Compilation failed: group name must start with a non-digit at offset 4 in /var/www/sdb/e/8/system.co/includes/MagicWord.php on line 705

Warning: preg_match_all(): Compilation failed: group name must start with a non-digit at offset 4 in /var/www/sdb/e/8/system.co/includes/MagicWord.php on line 700

Warning: Invalid argument supplied for foreach() in /var/www/sdb/e/8/system.co/includes/MagicWord.php on line 701

Warning: preg_replace(): Compilation failed: group name must start with a non-digit at offset 4 in /var/www/sdb/e/8/system.co/includes/MagicWord.php on line 705

Warning: preg_match(): Compilation failed: group name must start with a non-digit at offset 8 in /var/www/sdb/e/8/system.co/includes/MagicWord.php on line 722

Warning: preg_match(): Compilation failed: group name must start with a non-digit at offset 8 in /var/www/sdb/e/8/system.co/includes/MagicWord.php on line 722
Variables bash - system.co.free.fr

Variables bash

De system.co.free.fr.
(Suppression de la plus courte chaîne recherché, en partant du début)
(Définir une variable uniquement si elle est indéfinie ou nul)
 
Ligne 191 : Ligne 191 :
==Renvoyer une valeur de substitution lorsque la variable n'existe pas==
==Renvoyer une valeur de substitution lorsque la variable n'existe pas==
-
si VAR existe (nulle ou pas), on retourne sa valeur, sinon, on retourne la valeur defaut, sans changer la valeur de VAR.  
+
si VAR est défini (avec une valeur ou avec nul), on retourne sa valeur, y compris nul, sinon, si VAR est indéfini, on retourne défaut, sans changer ni la valeur, ni l’état de VAR.  
<pre>
<pre>
unset VAR                # on supprime VAR si elle existe
unset VAR                # on supprime VAR si elle existe
Ligne 200 : Ligne 200 :
</pre>
</pre>
-
Si on veut que la valeur retournée soit non nulle, on peut utiliser la syntaxe : ${VAR:-defaut}.
+
Si l'on souhaite que la valeur retournée soit non nul, on peut utiliser la syntaxe : <b>${VAR:-defaut}</b>.
Par exemple :
Par exemple :
 +
<pre>
 +
declare VAR # VAR existe, mais est nul
 +
echo ${VAR-valeur_par_defaut}
 +
</pre>
 +
<pre>
-
declare VAR # VAR existe, mais est nulle
+
</pre>
-
echo ${VAR-valeur_par_defaut} # rien
+
<pre>
-
echo ${VAR:-valeur_par_defaut} # valeur_par_defaut
+
echo ${VAR:-valeur_par_defaut}
-
echo ${VAR:-valeur_par_defaut} # valeur_par_defaut
+
</pre>
 +
<pre>
 +
valeur_par_defaut
 +
</pre>
-
Donc, si null est une valeur possible pour une variable, il convient d'utiliser la syntaxe ${VAR-defaut} qui respectera la valeur nulle. Sinon, il est plus sage d'utiliser ${VAR:-defaut}.
 
-
Il faut bien ce souvenir que cette syntaxe ne défini à aucun moment la valeur de VAR. C'est le rôle de la syntaxe ci dessous de définir VAR si elle n'est pas définie :
+
Pour substituer une valeur (ici une chaîne: defaut) a une variable indéfinie:<br>
 +
<pre>
 +
${VAR-defaut}
 +
</pre>
 +
<br>
 +
Pour substituer une valeur (ici une chaîne: defaut) a une variable indéfinie ou nul: <br>
 +
<pre>
 +
${VAR:-defaut}
 +
</pre>
 +
<br>
 +
Cette syntaxe ne défini pas ou ne modifie pas la valeur de VAR.
-
declare VAR # VAR existe, mais est nulle
+
==Définir une variable uniquement si elle est indéfinie==
-
echo ${VAR=valeur_par_defaut} # rien, VAR reste nulle
+
définir VAR si elle n'est pas définie :<br>
-
echo ${VAR:=valeur_par_defaut} # VAR prend la valeur
+
<pre>
-
# valeur_par_defaut
+
unset VAR # VAR n'est pas défini
 +
echo ${VAR=valeur_par_defaut}
 +
</pre>
 +
<pre>
 +
valeur_par_defaut
 +
</pre>
 +
<br>
 +
==Définir une variable uniquement si elle est indéfinie ou nul==
 +
définir VAR lorsque nul :<br>
 +
<pre>
 +
VAR=               # défini VAR a nul
 +
echo ${VAR:=valeur_par_defaut}
 +
</pre>
 +
<pre>
 +
valeur_par_defaut
 +
</pre>
 +
<br>
-
Si on veut maintenant utiliser une autre valeur, fixe, quand VAR est définie, sans pour autant modifier la valeur réelle de VAR, on peut procéder comme cela :
+
==remplacer momentanément la valeur d'une variable non nul==
VAR=valeur_1
VAR=valeur_1

Version actuelle en date du 8 novembre 2020 à 08:15

Outils personnels