Является ли have
ключевым словом в bash? Или скрипты завершения bash используют язык, который не является bash?
have gcc &&
_gcc()
{
Это обычное явление. См.: grep "have .* &&" /etc/bash_completion.d/*
Я не смог найти какую-либо информацию о учебниках по завершению bash, которые я видел, и я не мог найти никакой информации в man bash
. Это также трудно для Google "иметь". Где я могу найти документацию по этому вопросу?
Я предполагаю, что это связано с тем, что существует gcc
в PATH
?
изменить: да. /etc/bash_completion
содержит:
have()
{
unset -v have
# Completions for system administrator commands are installed as well in
# case completion is attempted via `sudo command ...'.
PATH=$PATH:/sbin:/usr/sbin:/usr/local/sbin type $1 &>/dev/null &&
have="yes"
}