• Aucun résultat trouvé

QUELQUES COMMANDES INTERNES AU BASH

Dans le document Linux (Page 89-93)

L’interpréteur de commandes : Bash

6.7 QUELQUES COMMANDES INTERNES AU BASH

Il existe des commandes internes au Bash, qui ne créent donc pas des processus shell fils. Les principales commandes internes sont les suivantes (par ordre alphabétique) : alias nom alias=’commandes’etunalias nom

Ces deux commandes ont été présentées au paragraphe 6.3. Sans paramètre, la commandealiasliste les alias.

cd [rep]

Cette commande, déjà présentée au paragraphe 3.4, permet de changer de répertoire. La valeur par défaut de[rep]est le contenu de la variable HOME. Le chemin d’accès de repest défini par la variable CDPATH. Sirepcommence par le caractère/,.ou..la variable CDPATH n’est pas utilisée. Siargest le caractère alors le changement de répertoire est réalisé avec le contenu de la variable OLDPWD qui correspond au dernier répertoire.

command [ v] cmd [args…]

La commande command exécute la commande cmd avec ses arguments [args…]si cette dernière est une commande interne ou une commande dans un des répertoire du PATH. L’option –v permet d’obtenir une description de la commandecmd.

Exemple

xstra> type ls ls is /usr/bin/ls xstra> alias type=more xstra> type ls

ls: No such file or directory

6.7 Quelques commandes internes au Bash 73

Elle permet l’affichage sur l’écran detexte. Associé à l’option –n, letexteest affiché sans retour à la ligne. Associé à l’option –e, letextepeut contenir des séquences particulières comme suit :

\a alerte (le bip),

\nnn le caractère ASCII dont la valeur octale estnnn.

enable [ n] cmd

Cette commande permet de déterminer si la commande cmdest une commande interne ou un programme stocké dans un réper-toire défini dans la variable PATH s’il a le même nom que la commande interne. Si l’option –n est utilisée, cmd sera un programme, sans cette option,cmdsera la commande interne.

Exemple

Par exemple, pour utiliser la commande externe test, exécutez enable –n test.

xstra> type test

test is a shell builtin xstra> enable –n test xstra> type test test is /usr/bin/test xstra> enable test xstra> type test

test is a shell builtin xstra>

exec cmd

La commandecmdest exécutée à la place du shell sans qu’il y ait création d’un nouveau processus. Il n’est pas possible de retourner au shell.

74 6 • L’interpréteur de commandes : Bash

Exemple

xstra> exec ls l

drw 2 xstra staff 512 Apr 14 1999 projet1 ...

login : exit [n]

Cette commande provoque l’arrêt du shell avec un code de retour égal à la valeur n(0 par défaut).

export [ n] [nom]

Cette commande permet de déclarer nom comme étant une variable d’environnement.nompourra être de la formevar=val, la commande export var=val permettra de déclarer var comme variable d’environnement et de lui affecter la valeurval.

Si l’option –n est utilisée, la variable d’environnement nom deviendra une variable interne. La commandeexportsans argu-ment affiche les variables d’environneargu-ment.

hash [ r] [nom]

Lors de l’exécution d’une commande externe ou d’un script, le chemin d’accès de la commande est gardé en mémoire dans une table par le shell. Il est possible, à l’aide de la commandehash, d’ajouter la commande définie parnomdans la table. L’exécution de la commandenomsera plus rapide. En effet, cela ne nécessitera pas la recherche du chemin d’accès.

L’option r permet de vider la table. La commande hash sans argument affiche le contenu de la table.

Exemple

Cette commande donne la liste des commandes de l’historique (voir le paragraphe 6.5.1).

pwd Cette commande permet d’afficher le nom du répertoire de travail.

6.7 Quelques commandes internes au Bash 75

©DunodLaphotocopienonautoriséeestundélit.

read [nom]

Cette commande permet de lire le clavier du poste de travail. En paramètre de cette commande, on peut trouver plusieurs variables qui doivent être séparées par un ou plusieurs espaces ou tabulations.

set et unset [option] [ /+o options] [arg]

La commande set sans option permet l’affichage de toutes les variables avec leurs valeurs. La commande unset permet de supprimer une variable.

shopt [ su] [opt]

La commandeshoptpermet d’activer et désactiver les variables contrôlant le comportement de l’interpréteur de commande. Sans argument la commande shopt permet l’affichage de toutes les options avec leurs valeurs. L’option[ s](s pour set) positionne l’option opt et l’option[ u] (u pour unset) désactive l’option opt. Une liste non exhaustive des options deshoptest :

cdable vars: si l’argument de la commandecdn’est pas un répertoire, il sera considéré comme une variable contenant le répertoire.

cmdhist : considère une commande sur plusieurs lignes comme une seule dans l’historique.

extglob : les extensions Bash dans la génération de noms de fichiers, décrites au paragraphe 8.2.4.d, sont activées.

times

Cette commande affiche les temps système et utilisateur cumulés pour les processus lancés par le shell.

trap [arg] [sig]

Cette commande permet d’associer à un signal l’exécution de la commande arg. La commande trap sans argument permet d’afficher la liste des commandes associées à un signal. L’exemple le plus courant est l’association du signal 0, c’est-à-dire la fin d’une fonction ou d’un shell à l’exécution d’une commande.

type [nom]

Cette commande indique le mode d’interprétation par le shell pour chaque nom (commande interne, commande dans la table hash, chemin d’accès de la commande).

Exemples

xstra> type test

test is a shell builtin xstra> type ls

ls is /usr/bin/ls xstra>

76 6 • L’interpréteur de commandes : Bash

ulimit [ acftu] [limit]

permet de contrôler certaines ressources disponibles du shell ou celles d’un processus exécuté par ce shell. L’option -a permet d’afficher la liste des ressources. Les autres options sont :

c la taille maximum des fichierscore,

f la taille maximum des fichiers créés par le shell, t la quotité CPU maximum en secondes,

u le nombre maximum de processus par utilisateur.

Exemples

Pas de création de fichier core lors d’une fin anormale d’un programme.

xstra> ulimit –c 0 xstra>

Dans le document Linux (Page 89-93)