Newer
Older
cours-unix-shell / output / shell / README.html
<!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>&quot;Prompt&quot; 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=&quot;var&quot;</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>&copy; CNRS 2023</p>
    </footer>
</body>

</html>