Bash: Accès par indirection ======
L'accès à une valeur par indirection est possible en shell. Pour cela il faut **procéder à deux substitutions de variable** l’une après l’autre. Le détail de la substitution de variable est abordé dans le wiki [[cours:informatiqu... t refaire une autre évaluation pour substituer la variable HOME avant de faire l’exécution de la ligne
en mode interactif l'option -i est précisée et la variable **PS1** est définie. Les options actives sont listées dans la variable **$-**.
Le script **~/.basrc** utilise la valeur de cette variable pour déterminer si l'exécution courante est interactive ou non et adapter son c
s au script bash courant sont accessibles via les variables **$1** à **$n**. La variable **$@** désigne l'ensemble des arguments.
**getopts** et **getop... ée avec les commandes **while** et **case**, elle va permettre la gestion des options et de leur argum... ent de la ligne de commande et les place dans des variables de travail. La boucle **while** permet d'a
{{tag>dev bash variable code snippet exemple guide howto}}
====== Bash : vérifier l’existence d'une variable ======
Pour vérifier qu'une variable est définie en bash, une méthode simple consiste à utilis... ences =====
* https://stackoverflow.com/questions/3601515/how-to-check-if-a-variable-is-set-in-bash
ll ======
Avant toute exécution, on peut vouloir valider la syntaxe d'un fichier de script. Pour cela... -u | set -o nounset | Utilisation d'une variable non définie provoque une erreur. |
| set -n | set -o noexec | Valider la syntaxe d'un fichier script sans executer
hanger un nombre de base. Pour cela, utiliser les variables prédéfinies **ibase** et **obase**:
<code... ntrée utilise la base hexadécimale, on définie la variable a, spécifie ensuite que la sortie sera en b
er et réutiliser les scripts.
* Par convention, variables locales en minuscules et globales ou exportées en majuscule.
* Assurer le dépilement des variables d'environnement propres a l’exécution du s
==
Les différents shells GNU/Linux déclarent une variable **IFS**((**I**nternal **F**ield **S**eparat... t de délimiter les arguments. On peut afficher la valeur de ces séparateurs de champ avec la commande
_file.txt
0 directories, 3 files
# Afficher les valeurs après développement de '*'
echo *
fileA.txt ... mportement par défaut.
<code bash>
# Afficher la valeur de l'option
shopt dotglob
# Activer l'inclus
le [0-32767] depuis le shell, on peut utiliser la variable **$RANDOM**.
Pour limiter la valeur maximum de l'intervalle entre [0-N] avec N < 32767, on peu... **return** car celui-ci ne peut retourner qu'une valeur comprise entre [0-127]. On récupère ensuite cette valeur en utilisant la syntaxe de substitution de co