Come posso elencare tutti i comandi integrati disponibili nella shell?


23

Sappiamo che bash supporta il numero di comandi di buitin come:

$ 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

Voglio ottenere un elenco di tutti i comandi integrati disponibili nella shell . Come posso farlo dalla riga di comando?



Correlati (per parole chiave anziché builtin): come elencare tutte le parole chiave della shell?
Eliah Kagan,

Risposte:



17

È possibile utilizzare compgen -bda una shell bash per ottenere un elenco dei comandi incorporati della shell.


13

In alternativa puoi visualizzare con il enablecomando: (Sia la risposta di @ karel che quella di @ steeldriver funzionano bene.)

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

Se un builtin è disabilitato, viene mostrato con -nin out put.

Esempio di output:

$ 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

Per coloro che odiano il fork dei binari esterni semplicemente per la formattazione / estrazione dei dati:

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

Perché non semplicemente una pipe invece di un reindirizzamento FIFO? enable -a | while read ...
David Foerster,

Funzionerebbe anche questo. Questa è solo un'abitudine in cui mi trovo in modo che qualsiasi manipolazione variabile che mi interessa fare all'interno del ciclo while non venga eseguita all'interno di una sotto-shell. (Manipolare le variabili all'interno di una sotto-shell significherebbe che le modifiche non sono persistenti all'esterno dell'altra estremità del ciclo).
Nicola Worthington,

1

Digita semplicemente il Terminale:

man bash

Questo aprirà il manuale di bash. Scorri verso il basso e troverai i COMANDI INCORPORATI SHELL . Qui puoi conoscere tutti i comandi integrati e cosa fanno. Se si desidera il manuale in formato txt, utilizzare questo comando

man bash > FILENAME.txt

Ora hai il file di testo del manuale di bash.


1

Un altro modo: man builtins

Visualizza l'elenco dei builtin in alto, quindi ha tutti i dettagli per ciascun comando di seguito.

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.
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.