如何列出所有可用的 shell 内置命令?

如何列出所有可用的 shell 内置命令?

我们知道 bash 支持许多 内置命令 喜欢:

$ 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

我想得到所有可用的 shell 内置命令列表。如何通过命令行执行此操作?

答案1

您可以compgen -b从 bash shell 中使用来获取 shell 的内置命令列表。

答案2

从终端类型:

help

help help

Display information about builtin commands.

答案3

或者,您可以使用命令显示enable:(@karel 和@steeldriver 的答案都可以。)

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

-n如果任何内置命令被禁用,那么它将与输出一起显示。

示例输出:

$ 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

答案4

对于那些讨厌仅仅为了数据格式化/提取而分叉外部二进制文件的人来说:

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

相关内容