Comment répertorier toutes les commandes intégrées du shell disponibles?


23

Nous savons que bash prend en charge un certain nombre de commandes buitin comme:

$ type type cd help command
type is a shell builtin
cd is a shell builtin
help is a shell builtin
command is a shell builtin

Je veux obtenir la liste de toutes les commandes intégrées du shell disponibles . Comment dois-je procéder par ligne de commande?



Connexes (pour les mots clés au lieu des fonctions intégrées): comment répertorier tous les mots clés du shell?
Eliah Kagan

Réponses:


20

Du type de terminal:

help

De help help:

Display information about builtin commands.

Notez que helprépertorie les mots clés du shell ainsi que les commandes internes du shell (et n'indique pas explicitement lequel est lequel).
Eliah Kagan

17

Vous pouvez utiliser à compgen -bpartir d'un shell bash pour obtenir une liste des commandes intégrées du shell.


13

Alternativement, vous pouvez afficher avec la enablecommande: (La réponse de @ karel et @ steeldriver fonctionne très bien.)

enable -a | cut -d " " -f 2,3

Si une fonction intégrée est désactivée, elle est affichée avec -nentrée.

Exemple de sortie:

$ enable -a | cut -d " " -f 2,3
.
:
[
alias
bg
bind
break
builtin
caller
cd
command
compgen
complete
compopt
continue
declare
dirs
disown
echo
enable
eval
exec
exit
export
false
fc
fg
getopts
hash
help
history
jobs
kill
let
local
logout
mapfile
popd
printf
pushd
pwd
read
readarray
readonly
return
set
shift
shopt
source
suspend
test
times
trap
true
type
typeset
ulimit
umask
unalias
unset
wait

1

Pour ceux qui détestent bifurquer des binaires externes simplement pour le formatage / extraction de données:

while read -r _ cmd ; do echo $cmd ; done < <(enable -a)

Pourquoi pas simplement un pipe au lieu d'une redirection FIFO? enable -a | while read ...
David Foerster

Cela fonctionnerait également. C'est juste une habitude que je prends pour que toute manipulation de variable que je tiens à faire à l'intérieur de la boucle while ne soit pas exécutée à l'intérieur d'un sous-shell. (La manipulation de variables à l'intérieur d'un sous-shell signifierait que les modifications ne sont pas persistantes à l'extérieur de l'autre extrémité de la boucle).
Nicola Worthington

1

Tapez simplement dans le terminal:

man bash

Cela ouvrira le manuel de bash. Faites défiler vers le bas, vous trouverez les commandes SHELL BUILTIN . Ici, vous pouvez connaître toutes les commandes intégrées et ce qu'elles font. Si vous voulez le manuel au format txt, utilisez cette commande

man bash > FILENAME.txt

Vous avez maintenant le fichier texte du manuel bash.


1

Autrement: man builtins

Il affiche la liste des commandes intégrées en haut, puis présente tous les détails de chaque commande ci-dessous.

SYNOPSIS
       bash defines the following built-in commands: :, ., [, alias, bg, bind,
       break,  builtin,  case,  cd,  command,  compgen,  complete,   continue,
       declare,  dirs, disown, echo, enable, eval, exec, exit, export, fc, fg,
       getopts, hash, help, history, if, jobs, kill, let, local, logout, popd,
       printf,  pushd, pwd, read, readonly, return, set, shift, shopt, source,
       suspend, test, times, trap,  type,  typeset,  ulimit,  umask,  unalias,
       unset, until, wait, while.
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.