Bagaimana cara mendaftar semua perintah shell builtin yang tersedia?

23

Kami tahu bash mendukung sejumlah perintah buitin seperti:

$ 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

Saya ingin mendapatkan daftar semua perintah builtin shell yang tersedia . Bagaimana saya melakukannya dengan command-line?

Pandya
sumber
Terkait (untuk kata kunci dan bukan bawaan): Bagaimana cara mendaftar semua kata kunci shell?
Eliah Kagan

Jawaban:

20

Dari jenis terminal:

help

Dari help help:

Display information about builtin commands.
karel
sumber
Perhatikan bahwa helpmencantumkan kata kunci shell dan juga builtin shell (dan tidak menyatakan secara eksplisit yang mana).
Eliah Kagan
17

Anda dapat menggunakan compgen -bdari bash shell untuk mendapatkan daftar perintah builtin shell.

Steeldriver
sumber
13

Atau Anda dapat menampilkan dengan enableperintah: (Jawaban @ karel dan @ steeldriver berfungsi dengan baik.)

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

Jika ada builtin yang dinonaktifkan maka ditunjukkan dengan -nput out.

Contoh 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
Pandya
sumber
1

Bagi mereka yang membenci forking binari eksternal hanya untuk pemformatan / ekstraksi data:

while read -r _ cmd ; do echo $cmd ; done < <(enable -a)
Nicola Worthington
sumber
Mengapa tidak sekadar pipa alih-alih pengalihan FIFO? enable -a | while read ...
David Foerster
Itu juga akan berhasil. Ini hanya kebiasaan saya sehingga manipulasi variabel apa pun yang ingin saya lakukan di dalam while loop tidak dieksekusi di dalam sub-shell. (Memanipulasi variabel di dalam sub-shell akan berarti bahwa perubahan tidak bertahan di luar ujung loop).
Nicola Worthington
1

Cukup ketik Terminal:

man bash

Ini akan membuka manual bash. Gulir ke bawah Anda akan menemukan PERINTAH SHELL BUILTIN . Di sini Anda dapat mengetahui tentang semua perintah bawaan dan apa yang mereka lakukan. Jika Anda ingin manual dalam format txt, gunakan perintah ini

man bash > FILENAME.txt

Sekarang Anda memiliki file teks manual bash.

Ujjwal Gupta
sumber
1

Cara lain: man builtins

Ini menampilkan daftar builtin di bagian atas, kemudian memiliki semua detail untuk setiap perintah di bawah ini.

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.
wisbucky
sumber