on de l'utilisateur mais peuvent être altérées.
<note>
Les modifications de l'environnement et des opti... ont le comportement du shell et des programmes.
</note>
===== Définition de variables =====
Par simpl... que comme entier, tableau associatif ou indexé.
<note>
La primitive **typeset** est un synonyme de **de... n peut utiliser indifféremment ces mnémoniques.
</note>
<code bash>
# Forme générale:
# declare option
ce qu’on appelle le **système d’exploitation**.
<note>
Le **logiciel système** ou **système d'exploitat... ogiciels qualifiés de « logiciel applicatifs ».
</note>
Le système d’exploitation est un logiciel systè... dans tous les autres shells conformes à POSIX.
<note>
**POSIX** est une famille de normes techniques d... rammation des logiciels destinés à fonctionner sur les variantes du système d’exploitation Unix.
</note>
que les programmes spécifiques à l'utilisateur.
<note>
La commande interne **type** permet d'afficher le type d'une ou de plusieurs commandes
</note>
<code bash>
$ type ls man date echo
ls est un a... *SUS**((**S**ingle **U**NIX **S**pecification).
<note>
L’Open Group possède la marque de commerce **Unix**.
</note>
===== Quiz =====
* Affirmation: La ligne de
e le mot sous le curseur avec le précédent |
<note>
Ces fonctionnalité sont offertes par Readline, p... manuel de bash section "Readline Command Names"
</note>
===== Gestion de l'historique ======
On utilis... key>+<key>g</key> | Abandonner la rechercher |
<note>
Ces fonctionnalité sont offertes par Readline, p... section "Commands for Manipulating the History"
</note>
==== Expansion de l'historique ====
Le caractè
a une variable
PI=3.14
MSG="Hello Bash"
</code>
<note warning>
Ne pas introduire d'espaces entre le nom... riable, l'opérateur d'affectation et la valeur.
</note>
Pour utiliser la valeur de la variable, on préf... variable qui suit le caractère $ par sa valeur.
<note>
Par défaut l'accès à une variable non définie ne... peut être modifié par un paramétrage du shell.
</note>
===== Substitution de commande =====
La sortie
ivalents
let "a=a+1"
let "a+=1"
((a++))
</code>
<note>
Attention de ne pas confondre la commande let ab... ommande. De plus elle n’affiche aucun résultat.
</note>
La commande let permet de faire davantage que d... $ declare -i b=33
$ b=b+3
$ echo $b
36
</code>
<note>
**A propos de la syntaxe**: Comme on peut le voi... précéder le label de la variable avec ''$''.
</note>
Outre une évaluation implicite (sans avoir reco
re chaînes | [ "$str1" \> "$str2" ] |
<note>
Les métacaractères '<' et '>' sont inhiber car i... est sans être interprétés en amont par le Bash.
</note>
==== Opérateur de comparaison sur fichiers ====... rs numériques
$ (( a == b )); echo $?
1
</code>
<note warning>
Il est déconseillé d'utiliser la command... rs d'expressions arithmétiques conditionnelles.
</note>
La raison est que si l’expression arithmétique
2;
...
else
cmd1;
cmd2;
...
fi
</code>
<note warning>
Pour que la structure if soit correcteme... r à la ligne, mot clé "then" seul sur la ligne
</note>
===== Conditions imbriquées =====
Il est possi... ournant le code retour de la dernière commande.
<note>
Les motifs sont décrits avec la même syntaxe que la substitution de nom de fichier.
</note>
Si aucun des motifs ne correspond à la valeur d
caractères de l'ensemble ou l'intervalle. |
<note>
La portée du globbing se limite à un niveau de l'arborescence du système de fichier.
</note>
===== Classes de caractères =====
Pour désigne
champs en correspondance dans chaque fichier.
<note>
* Le champ clé doit être trié;
* La sortie p... e préfixe les enregistrements par le champ clé.
</note>
<code bash>
# contenu du fichier users.txt
# da
e commande pour le shell il doit être inhibibé.
<note>
Il est possible d'appeler plusieurs fois l'option **-exec**
</note>
Ci dessous un exemple d'utilisation de l'option
et le point d’exclamation '!' (bang en anglais)
<note>
Le shebang doit toujours être écrit au tout débu... es lignes qui suivent dans le reste du fichier.
</note>
===== Variables =====
La syntaxe de manipulati