При запуске complete
команды на моем терминале gnome он показывает некоторые команды. Что это? И какая польза от complete
команды?
$ complete
complete -F _minimal
complete -F _filedir_xspec oodraw
complete -F _filedir_xspec elinks
complete -F _filedir_xspec freeamp
complete -F _longopt split
complete -F _longopt sed
complete -F _longopt ld
complete -F _longopt grep
complete -F _service /etc/init.d/vboxweb-service
complete -F _service /etc/init.d/vboxballoonctrl-service
complete -F _service /etc/init.d/rc
complete -F _service /etc/init.d/nmbd
complete -F _service /etc/init.d/halt
complete -j -P '"%' -S '"' jobs
complete -d pushd
Список идет долго, поэтому я разместил некоторые из них.
command-line
bash
Авинаш Радж
источник
источник
help complete
Ответы:
complete
встроенная функция bash Таким образом, в системе нет двоичного файла. Он управляет выполнением команд при нажатии tab.Пример: если вы наберете:
... появляется список со всеми возможными значениями для этой команды. В данном случае это означает все запущенные процессы. Смотрите вывод
complete
функции:Это означает, что функция
_pgrep
(-F) выполняется при добавлении командыpidof
. Определение этой функции в/etc/bash_completion.d/procps
.Другой пример: если вы наберете:
... вы видите список папок, которые вы можете
cd
под/usr/
. Какая функция выполняется? greping наcomplete
функцию (как указано выше) говорит нам , что это funtction_cd
в/etc/bash_completion
.Сделай сам : у тебя есть программа / скрипт,
/bin/myprog
и ты хочешь это, если ты выполняешь это следующим образом... он должен только перечислять папки, а не файлы. Поэтому продлите ваше завершение bash следующей командой:
Вот и все. Вы также можете написать собственные функции для завершения пользовательских вещей, например, завершить только определенные файлы или числа или списки статических значений ...
источник
complete
это команда bash, используемая для выполнения действия автозаполнения, когда пользователь TABнажимает клавишу в терминале.Вызов только
complete
перечислит все функции, зарегистрированные для автоматического завершения команд или опций услуг.Со страниц руководства по bash:
Установите этот флажок,
/usr/share/bash-completion/bash_completion
чтобы увидеть дополнения по умолчанию, которые поставляются с bash.Посетите http://www.linuxjournal.com/content/more-using-bash-complete-command для полного руководства по этой команде.
источник