Как я перечисляю всю доступную оболочку встроенные команды?

Мы знаем, что удар поддерживает количество команд 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

Я хочу получить список всей доступной оболочки встроенные команды. Как я делаю это командной строкой?

23
задан 18 August 2014 в 17:12

7 ответов

От терминального типа:

help
<час>

От help help:

Display information about builtin commands.
20
ответ дан 16 November 2019 в 12:00

Можно использовать compgen -b от оболочки удара для получения списка встроенных команд оболочки.

17
ответ дан 16 November 2019 в 12:00

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

while read -r _ cmd ; do echo $cmd ; done < <(enable -a)
1
ответ дан 16 November 2019 в 12:00

Кроме того, можно отобразиться с 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
13
ответ дан 16 November 2019 в 12:00

Иначе: man builtins

Это отображает список 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.
1
ответ дан 16 November 2019 в 12:00

Просто введите в Терминале:

man bash

Это откроет руководство удара. Прокрутите Вас вниз, найдет SHELL ВСТРОЕННЫМИ КОМАНДАМИ. Здесь можно знать обо всех встроенных командах и что они делают. Если Вы хотите руководство в txt формате, используйте эту команду

man bash > FILENAME.txt

Теперь у Вас есть текстовый файл руководства удара.

1
ответ дан 23 November 2019 в 01:25

Ну, bash является оболочкой по умолчанию для Ubuntu, и существующие ответы дают хорошие ответы.

Для zshell мы можем использовать команду enable, чтобы вывести список всех встроенных команд:

enable

и я получаю 103 встроенных команды для моего zshell:

enable | wc -l

Конечно, мы также можем использовать enable, чтобы запросить все встроенные функции bash:

enable | awk '{print $2}'
0
ответ дан 17 August 2020 в 02:57

Другие вопросы по тегам:

Похожие вопросы: