Sous UNIX, comme Bash et Korn exec
est utilisé pour deux utilisations spécifiques.
Son utilisation pour remplacer le programme actuel par un autre, comme dans exec prog
est compréhensible. Le nom exec
est une contraction de la famille de routines C basée sur execve
.
Si j'écrivais un shell et que je voulais une commande pour ouvrir un fichier, je l'appellerais probablement open
, mais non, les obus Bash et Korn utilisent exec
encore une fois, comme dans exec 3<file
, par exemple.
Pourquoi le exec
commande réutilisée pour quelque chose de complètement différent?