draft: type
This commit is contained in:
@@ -1 +1 @@
|
||||
{"fetched_at":1778947596,"version":"1.6.26"}
|
||||
{"fetched_at":1778951288,"version":"1.6.26"}
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"title": "La commande `type` sous Linux",
|
||||
"_updated_at": "2026-05-16 17:09:09"
|
||||
}
|
||||
@@ -0,0 +1,74 @@
|
||||
# La commande `type` sous Linux
|
||||
|
||||

|
||||
|
||||
La commande `type` permet de savoir comment le shell interprète un nom de commande : alias, fonction, primitive (builtin), mot-clé du shell ou exécutable sur le disque. C'est un outil précieux pour comprendre pourquoi une commande se comporte d'une certaine manière et pour déboguer son environnement shell.
|
||||
|
||||
`type` est une primitive intégrée à Bash (et conforme à POSIX), il n'y a donc rien à installer.
|
||||
|
||||
## Syntaxe
|
||||
|
||||
```bash
|
||||
type [options] nom [nom ...]
|
||||
```
|
||||
|
||||
Où `nom` est la commande à examiner. Plusieurs noms peuvent être passés en argument.
|
||||
|
||||
## Les options
|
||||
|
||||
- **`-a`** : affiche **toutes** les interprétations possibles du nom, dans l'ordre où le shell les considère (alias, fonction, builtin, puis exécutables trouvés dans `PATH`).
|
||||
|
||||
- **`-t`** : affiche un mot unique décrivant le type de la commande : `alias`, `function`, `builtin`, `keyword` ou `file`. Pratique dans les scripts.
|
||||
|
||||
- **`-p`** : affiche le chemin de l'exécutable qui serait lancé. Ne produit **aucune sortie** si le nom correspond à un alias, une fonction ou un builtin.
|
||||
|
||||
- **`-P`** : force la recherche dans `PATH` et affiche le chemin de l'exécutable correspondant, **même si** le nom est aussi un alias ou une fonction.
|
||||
|
||||
## Exemples
|
||||
|
||||
Vérifier un alias :
|
||||
|
||||
```bash
|
||||
$ type ls
|
||||
ls est un alias vers « ls --color=auto »
|
||||
```
|
||||
|
||||
Afficher toutes les interprétations d'un nom :
|
||||
|
||||
```bash
|
||||
$ type -a ls
|
||||
ls est un alias vers « ls --color=auto »
|
||||
ls est /usr/bin/ls
|
||||
```
|
||||
|
||||
Identifier une primitive du shell :
|
||||
|
||||
```bash
|
||||
$ type cd
|
||||
cd est une primitive du shell
|
||||
```
|
||||
|
||||
Vérifier un exécutable binaire :
|
||||
|
||||
```bash
|
||||
$ type grep
|
||||
grep est /usr/bin/grep
|
||||
```
|
||||
|
||||
Obtenir uniquement le type, utile en script :
|
||||
|
||||
```bash
|
||||
$ type -t grep
|
||||
file
|
||||
$ type -t cd
|
||||
builtin
|
||||
```
|
||||
|
||||
Récupérer le chemin d'un binaire en ignorant un éventuel alias :
|
||||
|
||||
```bash
|
||||
$ type -P ls
|
||||
/usr/bin/ls
|
||||
```
|
||||
|
||||
En résumé, `type` est l'outil le plus fiable pour répondre à la question « qu'est-ce qui s'exécute réellement quand je tape cette commande ? », là où `which` ne voit que les fichiers du `PATH`.
|
||||
Reference in New Issue
Block a user