Як перелічити всі доступні вбудовані команди оболонки?


23

Ми знаємо, що bash підтримує кількість команд buitin, таких як:

$ 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

Я хочу отримати список усіх доступних команд оболонки, вбудованих в оболонки . Як це зробити за допомогою командного рядка?



Пов'язане (для ключових слів замість вбудованих): Як перелічити всі ключові слова оболонки?
Елія Каган

Відповіді:



17

Ви можете використовувати compgen -bз bash shell, щоб отримати список вбудованих команд оболонки.


13

Крім того, ви можете відображати 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

1

Для тих, хто ненавидить роздрібнювати зовнішні бінарні файли просто для форматування / вилучення даних:

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

Чому б не просто труба замість перенаправлення FIFO? enable -a | while read ...
Девід Фоерстер

Це теж би спрацювало. Це просто звичка, в якій я перебуваю, щоб будь-які маніпуляції зі змінними, які я прагну робити всередині циклу, поки цикл не виконується всередині підкошти. (Маніпулювання змінними всередині підрозділу означатиме, що зміни не зберігаються за межами іншого кінця циклу).
Нікола Вортінгтон

1

Просто введіть термінал:

man bash

Це відкриє посібник з bash. Прокрутіть униз, ви знайдете ДОБРІ БУДІВЕЛЬНІ КОМАНДИ . Тут ви можете дізнатися про всі вбудовані команди та що вони роблять. Якщо ви хочете, щоб посібник був у форматі txt, використовуйте цю команду

man bash > FILENAME.txt

Тепер у вас є текстовий файл керівництва bash.


1

Інший спосіб: man builtins

Він відображає список вбудованих вершин, а потім містить усі деталі для кожної команди нижче.

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.
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.