Como faço para listar todos os comandos embutidos do shell disponíveis?

9

Sabemos que o bash suporta o número de comandos do buitin como:

$ 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

Eu quero obter uma lista de todos os comandos embutidos do shell . Como faço isso por linha de comando?

    
por Pandya 18.08.2014 / 15:12

5 respostas

14

Do tipo de terminal:

help

De help help :

Display information about builtin commands.
    
por karel 18.08.2014 / 15:15
9

Você pode usar compgen -b de um shell bash para obter uma lista dos comandos internos do shell.

    
por steeldriver 18.08.2014 / 16:36
6

Como alternativa, você pode exibir com o comando enable : (A resposta do @ karel e @ steeldriver funciona bem.)

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

Se algum builtin estiver desabilitado, ele será mostrado com -n em out put.

Exemplo de saída:

$ 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
    
por Pandya 19.08.2014 / 14:20
1

Basta digitar o terminal:

man bash

Isto irá abrir o manual do bash. Rolar para baixo você encontrará SHELL BUILTIN COMMANDS . Aqui você pode saber sobre todos os comandos internos e o que eles fazem. Se você quiser o manual em formato txt, use este comando

man bash > FILENAME.txt

Agora você tem o arquivo de texto do manual do bash.

    
por Ujjwal Gupta 30.01.2018 / 21:37
0

Para quem odeia bifurcações externas, simplesmente para formatação / extração de dados:

while read -r _ cmd ; do echo $cmd ; done < <(enable -a)
    
por Nicola Worthington 21.09.2016 / 00:09