<!DOCTYPE html>
<html>
<head>
<title></title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<header>
<h1></h1>
<nav>
<ul>
<li><a href="/output/README.html">Accueil</a></li>
<li><a href="/output/unix/README.html">UNIX</a></li>
<li><a href="/output/bases/README.html">Bases</a></li>
<li><a href="/output/commandes/README.html">Commandes</a></li>
<li><a href="/output/shell/README.html">Shell</a></li>
<li><a href="/output/sed/README.html">Sed</a></li>
<li><a href="/output/make/README.html">Make</a></li>
</ul>
</nav>
</header>
<div class="content">
<h1 id="variables-denvironnement---shell---unix">Variables d'environnement - Shell - UNIX</h1>
<p>Le shell contient diverses variables d'environnement.<br />
Si vous voulez les voir toutes, utilisez la commande <code>set</code> ou la commande <code>env</code> sans paramètre.</p>
<p>Certaines de ces variables peuvent nous intéresser plus particulièrement (pour visualiser leur contenu, utilisez la commande <code>echo</code>, par exemple <code>echo $HOME</code> pour afficher le contenu de la variable <code>HOME</code>) :</p>
<table>
<colgroup>
<col style="width: 4%" />
<col style="width: 95%" />
</colgroup>
<thead>
<tr class="header">
<th>nom</th>
<th>contenu</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td>HOME</td>
<td>chemin de votre <em>home directory</em></td>
</tr>
<tr class="even">
<td>PATH</td>
<td>liste des chemins parcourus par le shell pour trouver les commandes à exécuter (quand le chemin complet n'est pas précisé)</td>
</tr>
<tr class="odd">
<td>PS1</td>
<td>"Prompt" utilisé dans le shell (on peut modifier sa valeur)</td>
</tr>
<tr class="even">
<td>SHELL</td>
<td>indique le shell qu'on utilise</td>
</tr>
<tr class="odd">
<td>USER</td>
<td>votre nom d'utilisateur</td>
</tr>
</tbody>
</table>
<p>Pour modifier la valeur d'une variable (ou en créer une), il suffit d'utiliser la syntaxe :</p>
<div class="sourceCode"><pre class="sourceCode bash"><code class="sourceCode bash"><span class="va">VARIABLE=</span>valeur</code></pre></div>
<blockquote>
<p>⚠ Il ne faut pas mettre d'espace autour du caractère <code>=</code></p>
</blockquote>
<p>Par convention, les noms de variable sont en majuscules.<br />
Pour accéder à la valeur d'une variable, on utilise :</p>
<div class="sourceCode"><pre class="sourceCode bash"><code class="sourceCode bash"><span class="va">$VARIABLE</span></code></pre></div>
<p>ou, pour éviter des ambiguités (si <code>a="var"</code>, <code>${a}b</code> renvoie <code>varb</code> alors que <code>$ab</code> est invalide) :</p>
<div class="sourceCode"><pre class="sourceCode bash"><code class="sourceCode bash"><span class="va">${VARIABLE}</span></code></pre></div>
<p>On peut créer des variables utilisateurs de la même manière.</p>
<p>Une variable n'est disponible que dans le shell où on l'a initialisée.</p>
<p>Faire précéder l'affectation d'une variable du mot-clé <code>export</code> autorise son utilisation dans un shell différent.</p>
<div class="sourceCode"><pre class="sourceCode bash"><code class="sourceCode bash"><span class="bu">export</span> <span class="va">VARIABLE=</span>valeur</code></pre></div>
<blockquote>
<p>Pour plus d'information sur les variables (en <code>bash</code>), voir <a href="https://www.cyberciti.biz/tips/bash-shell-parameter-substitution-2.html">How To Use Bash Parameter Substitution Like A Pro</a></p>
</blockquote>
<p><a href="../commandes/tp.html">Précédent</a> - <a href="./scripts.html">Suivant</a></p>
</div>
<footer>
<p>© CNRS 2023</p>
</footer>
</body>
</html>