[2024-feb-29] Sad news: Eric Layton aka Nocturnal Slacker aka vtel57 passed away on Feb 26th, shortly after hospitalization. He was one of our Wiki's most prominent admins. He will be missed.

Welcome to the Slackware Documentation Project

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Dernière révisionLes deux révisions suivantes
fr:slackbook:bash [2012/12/29 15:38 (UTC)] – Typography fixes and others ellendhelfr:slackbook:bash [2013/10/13 20:23 (UTC)] – Check spelling ellendhel
Ligne 7: Ligne 7:
 ===== Variables d'environnement ===== ===== Variables d'environnement =====
  
-Tous les shells facilitent l'exécution de certaines tâches pour l'utilisateur en permettant de garder une trace à travers les variables d'environnement. Une variable d'environnement est tout simplement un nom court pour certains bits d'information que l'utilisateur souhaite stocker et utiliser plus tard. Par exemple, la variable d'environnement PS1 spécifie à **//bash// ** comment formater son invite de commande. D'autres variables peuvent servir à définir le fonctionnement de certaines applications. Par exemple, la variable LESSOPEN indique à **//less//** d'executer le tres utile pré-processeur ''lesspipe.sh'' dont nous avons discuté, et LS_OPTIONS active les options de couleur d'affichage pour **//ls//**.+Tous les shells facilitent l'exécution de certaines tâches pour l'utilisateur en permettant de garder une trace à travers les variables d'environnement. Une variable d'environnement est tout simplement un nom court pour certains bits d'information que l'utilisateur souhaite stocker et utiliser plus tard. Par exemple, la variable d'environnement PS1 spécifie à **//bash// ** comment formater son invite de commande. D'autres variables peuvent servir à définir le fonctionnement de certaines applications. Par exemple, la variable LESSOPEN indique à **//less//** d’exécuter le très utile pré-processeur ''lesspipe.sh'' dont nous avons discuté, et LS_OPTIONS active les options de couleur d'affichage pour **//ls//**.
  
-Il est tres aisé de définir votre propre variable d'environnement. **//bash//** contient deux fonctions natives permettant de gérer cela : **//set//** et **//export//**.  En outre, une variable d'environnement peut etre supprimer en utilisant **//unset//**. (Pas de panique si vous supprimer une variable d'environnement par mégarde. La déconnexion du terminal suivie d'une reconnexion restaurera les variables d'environnement par defaut.) +Il est très aisé de définir votre propre variable d'environnement. **//bash//** contient deux fonctions natives permettant de gérer cela : **//set//** et **//export//**.  En outre, une variable d'environnement peut être supprimer en utilisant **//unset//**. (Pas de panique si vous supprimer une variable d'environnement par mégarde. La déconnexion du terminal suivie d'une reconnexion restaurera les variables d'environnement par defaut.) 
-Une variable d'environnement peut etre réferencée en placant tout simplement le symbole ($) devant la variable.+Une variable d'environnement peut être référencée en plaçant tout simplement le symbole ($) devant la variable.
  
 <code> <code>
Ligne 18: Ligne 18:
 </code> </code>
  
-La différence principale entre **//set//** et **//export//** est que **//export//** exportera (naturellement) la variable dans tous les sous-shells subsequents. (Un sous-shell est tout simplement un shell s'executant à l'interieur d'un autre shell, shell parent.)  Cette différence est notable lorsque vous utilisez la variable PS1 qui controle l'invite de commade **//bash//**.+La différence principale entre **//set//** et **//export//** est que **//export//** exportera (naturellement) la variable dans tous les sous-shells subséquents. (Un sous-shell est tout simplement un shell s’exécutant à l’intérieur d'un autre shell, shell parent.)  Cette différence est notable lorsque vous utilisez la variable PS1 qui contrôle l'invite de commande **//bash//**.
  
 <code> <code>
Ligne 26: Ligne 26:
 </code> </code>
  
-Une des variables d'environnement très importante dans **//bash//** et d'autres shells est PATH.  PATH est tout simplement la liste des répertoires consultés lorsqu'une application a besoin de s'exécuter. Par exemple, **//top//**(1) se touve dans +Une des variables d'environnement très importante dans **//bash//** et d'autres shells est PATH.  PATH est tout simplement la liste des répertoires consultés lorsqu'une application a besoin de s'exécuter. Par exemple, **//top//**(1) se trouve dans **///usr/bin/top//**. Vous pouvez l'exécuter simplement en spécifiant son chemin d'accès complet à elle, mais si ''/usr/bin'' est dans votre variable PATH, **//bash//** vérifiera ce répertoire si vous ne spécifiez pas de chemin d'accès complet. Ce comportement est bien visible lorsque vous essayez d'exécuter un programme qui n'est pas dans votre PATH d'utilisateur normal, par exemple, **//ifconfig//**(8).
-**///usr/bin/top//**. Vous pouvez l'exécuter simplement en spécifiant son chemin d'accès complet à elle, mais si +
-''/usr/bin'' est dans votre variable PATH, **//bash//** vérifiera ce repertoire si vous ne spécifiez pas de chemin d'accès complet. Ce comportement est bien visible lorsque vous essayez d'exécuter un programme qui n'est pas dans votre PATH d'utilisateur normal, par exemple, **//ifconfig//**(8).+
  
 <code> <code>
Ligne 162: Ligne 160:
  
  
-Vous pouvez également envoyer une tâche en arriere-plan en utiliant (surprise) **//bg//**. Cela permettra la poursuite de l'execution du processus sans garder le contrôle de votre shell. Vous pouvez la ramener au premier plan avec **//fg//** de la même façon que les tâches suspendues.+Vous pouvez également envoyer une tâche en arrière-plan en utilisant (surprise) **//bg//**. Cela permettra la poursuite de l’exécution du processus sans garder le contrôle de votre shell. Vous pouvez la ramener au premier plan avec **//fg//** de la même façon que les tâches suspendues.
  
 ===== Les terminaux ===== ===== Les terminaux =====
Ligne 168: Ligne 166:
 Slackware Linux et d'autres systèmes d'exploitation de type UNIX permettent aux utilisateurs d'interagir avec eux de nombreuses façons, mais la plus commune, et sans doute la plus utile, est le terminal. Autrefois, les terminaux étaient des claviers et des moniteurs (parfois même des souris) câblés dans un ordinateur central ou serveur via des connexions série. Aujourd'hui, cependant, la plupart des terminaux sont virtuels, c'est à dire qu'ils n'existent que dans le logiciel. Les terminaux virtuels permettent aux utilisateurs de se connecter à l'ordinateur, sans nécessiter de matériel coûteux et souvent incompatibles. Au contraire, les utilisateurs ont seulement besoin d'exécuter le logiciel leur offrant, en en général, un terminal virtuel hautement personnalisable. Slackware Linux et d'autres systèmes d'exploitation de type UNIX permettent aux utilisateurs d'interagir avec eux de nombreuses façons, mais la plus commune, et sans doute la plus utile, est le terminal. Autrefois, les terminaux étaient des claviers et des moniteurs (parfois même des souris) câblés dans un ordinateur central ou serveur via des connexions série. Aujourd'hui, cependant, la plupart des terminaux sont virtuels, c'est à dire qu'ils n'existent que dans le logiciel. Les terminaux virtuels permettent aux utilisateurs de se connecter à l'ordinateur, sans nécessiter de matériel coûteux et souvent incompatibles. Au contraire, les utilisateurs ont seulement besoin d'exécuter le logiciel leur offrant, en en général, un terminal virtuel hautement personnalisable.
  
-Les terminaux virtuels les plus communs (chaque machine Slackware Linux en a au moins un) sont les //gettys//. **//agetty//**(8) executes six instances par défaut sur Slackware, et permet aux utilisateurs locaux (ceux qui ne peuvent physiquement s'asseoir en face de l'ordinateur et tapez sur le clavier) de se connecter et d'exécuter des applications. Chacun de ces gettys est disponible sur des périphériques tty différentes qui sont accessibles séparément en appuyant sur la touche <key>'ALT'</key> et l'une des touches de fonction <key>'F1'</key> à <key>'F6'</key>. L'utilisation de ces gettys vous permet de vous connecter plusieurs fois, en tant que différents utilisateurs si vous le souhaitez, et d'exécuter simulatnement des applications dans les shells de ces utilisateurs. Ceci est le plus souvent effectué avec des serveurs qui n'ont pas installé **//X//**, mais peut être fait sur n'importe quelle machine.+Les terminaux virtuels les plus communs (chaque machine Slackware Linux en a au moins un) sont les //gettys//. **//agetty//**(8) lance six instances par défaut sur Slackware, et permet aux utilisateurs locaux (ceux qui ne peuvent physiquement s'asseoir en face de l'ordinateur et taper sur le clavier) de se connecter et d'exécuter des applications. Chacun de ces gettys est disponible sur des périphériques tty différentes qui sont accessibles séparément en appuyant sur la touche <key>'ALT'</key> et l'une des touches de fonction <key>'F1'</key> à <key>'F6'</key>. L'utilisation de ces gettys vous permet de vous connecter plusieurs fois, en tant que différents utilisateurs si vous le souhaitez, et d'exécuter simultanément des applications dans les shells de ces utilisateurs. Ceci est le plus souvent effectué avec des serveurs qui n'ont pas installé **//X//**, mais peut être fait sur n'importe quelle machine.
  
-Sur les ordinateurs de bureau, ordinateurs portables et autres postes de travail où l'utilisateur préfère une interface graphique fournie par **//X//**, la plupart des terminaux sont graphiques. Slackware comprend de nombreux différents terminaux graphiques, mais les plus couramment utilisés sont **//konsole//** de KDE, **//Terminal//**(1) de XFCE et le vieux de la vieille xterm(1). Si vous utilisez une interface graphique, vérifiez vos barres d'outils ou les menus. Chaque environnement de bureau ou gestionnaire de fenêtres possède un terminal virtuel (souvent appelé émulateur de terminal), et ils sont tous étiquetés différemment. Ccependant, vous les trouverez en général dans le sous-menu //"System"// dans les environnements de bureau. Ils vous donneront acces a un terminal graphique et vous permettront d'exécuter automatiquement votre shell par défaut.+Sur les ordinateurs de bureau, ordinateurs portables et autres postes de travail où l'utilisateur préfère une interface graphique fournie par **//X//**, la plupart des terminaux sont graphiques. Slackware comprend de nombreux différents terminaux graphiques, mais les plus couramment utilisés sont **//konsole//** de KDE, **//Terminal//**(1) de XFCE et le vieux de la vieille xterm(1). Si vous utilisez une interface graphique, vérifiez vos barres d'outils ou les menus. Chaque environnement de bureau ou gestionnaire de fenêtres possède un terminal virtuel (souvent appelé émulateur de terminal), et ils sont tous étiquetés différemment. Ccependant, vous les trouverez en général dans le sous-menu //"System"// dans les environnements de bureau. Ils vous donneront accès a un terminal graphique et vous permettront d'exécuter automatiquement votre shell par défaut.
  
 ===== Personalisation ===== ===== Personalisation =====
Ligne 203: Ligne 201:
 </code> </code>
  
-Oui, ce petit bout de drôles de figures contrôle votre invite de commande bash. Fondamentalement, tous les caractères de la variable PS1 sont incluses dans l'invite, sauf s'il s'agit d'un caractère échappé par un <key>'\'</key> ce qui indique à **//bash//** de l'interpréter. Il exite différentes séquences d'échappement et nous ne pouvons pas  toutes les discuter, mais je vais expliquer celles-ci. Les premier //"\u"// represente le nom de l'utilisateur actuel. //"\h"// est le nom de la machine auquel le terminal est attaché. //"\w"// est le répertoire de travail courant, et //"\$"// affiche soit le signe <key>'#'</key> ou <key>'$'</key>, en fonction des privileges de l'utilisateur actuel (root ou non). Une liste complète de toutes les séquences d'échappement rapides est répertoriée dans la page de manuel de **//bash//** sous la section PROMPTING.+Oui, ce petit bout de drôles de figures contrôle votre invite de commande bash. Fondamentalement, tous les caractères de la variable PS1 sont incluses dans l'invite, sauf s'il s'agit d'un caractère échappé par un <key>'\'</key> ce qui indique à **//bash//** de l'interpréter. Il existe différentes séquences d'échappement et nous ne pouvons pas  toutes les discuter, mais je vais expliquer celles-ci. Les premier //"\u"// représente le nom de l'utilisateur actuel. //"\h"// est le nom de la machine auquel le terminal est attaché. //"\w"// est le répertoire de travail courant, et //"\$"// affiche soit le signe <key>'#'</key> ou <key>'$'</key>, en fonction des privilèges de l'utilisateur actuel (root ou non). Une liste complète de toutes les séquences d'échappement rapides est répertoriée dans la page de manuel de **//bash//** sous la section PROMPTING.
  
 Comme nous nous sommes donnés tout ce mal pour discuter de l'invite par défaut, j'ai pensé prendre le temps de vous montrer quelques d'invite d commande et les valeurs de la variables PS1 nécessaires pour les utiliser. Comme nous nous sommes donnés tout ce mal pour discuter de l'invite par défaut, j'ai pensé prendre le temps de vous montrer quelques d'invite d commande et les valeurs de la variables PS1 nécessaires pour les utiliser.
 fr:slackbook:bash ()