Je sais ce qu'est une commande intégrée, mais que fait- builtin
elle? L'exécution which ls
me montre /bin/ls
, mais l'exécution which builtin
ne renvoie rien.
man builtin
me donne juste une liste de commandes intégrées, dont l’une est builtin
. Le reste de la page de manuel explique ce qu'est un élément intégré, mais pas ce qu'il builtin
est.
builtin --help
me dit builtin: usage: builtin [shell-builtin [arg ...]]
mais toujours pas ce qu'il fait.
Cela fait-il partie de bash d'une manière que les autres commandes intégrées ne font pas?
help builtin
.which builtin
ne renvoie aucun résultat, carwhich
indique l'emplacement des commandes externes . Si vous demandez à la coquilletype builtin
, elle vous le dira, sans surprisebuiltin is a shell builtin
. Vous trouverez la même chose avecalias
,set
etc.builtin help builtin
Réponses:
La
builtin
commande s'assure que vous exécutez la version intégrée de la commande dans le shell plutôt que d'exécuter une autre commande portant le même nom.Par exemple, supposons que vous ayez défini une fonction shell nommée
cd
pour imprimer un statut supplémentaire chaque fois que vous changez de répertoire. Mais vous avez tout gâché et vous ne pouvez plus modifier correctement les répertoires. Alors maintenant, vous pouvez taperbuiltin cd ~
avec succès cd dans votre répertoire personnel sans exécuter votre fonction shell cassée.En passant, ma copie de la page de manuel bash contient une section intitulée "SHELL BUILTIN COMMANDS", qui définit le sens de la
builtin
commande dans cette section (transcrit ci-dessous).la source
builtin
commande est le véritable construit de bash?builtin
aussi:function builtin { echo "Hi from builtin :-)"; }
. Alorsbuiltin
ne fonctionne plus.type builtin
vous dira si c'est le réelbuiltin
. - Sauf sitype
a été remplacé par un nontype
...