bash: _have: команда не найдена
bash: _have: команда не найдена
bash: _have: команда не найдена
vovec@tuxxx:~$ su
Пароль:
bash: _have: команда не найдена
bash: _have: команда не найдена
bash: _have: команда не найдена
root@tuxxx:/home/vovec#
Т.е. получается в каком-то общем скрипте строчки с "_have" встречаются?
В файле /etc/profile таких строк нет. Где еще искать причину?
P.S. Когда я пишу команду exit, то она почему-то печатается повторно:
# If not running interactively, don't do anything
[ -z "$PS1" ] && return
# check the window size after each command and, if necessary,
# update the values of LINES and COLUMNS.
shopt -s checkwinsize
# set variable identifying the chroot you work in (used in the prompt below)
if [ -z "${debian_chroot:-}" ] && [ -r /etc/debian_chroot ]; then
debian_chroot=$(cat /etc/debian_chroot)
fi
# set a fancy prompt (non-color, overwrite the one in /etc/profile)
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
# if the command-not-found package is installed, use it
if [ -x /usr/lib/command-not-found -o -x /usr/share/command-not-found/command-not-found ]; then
function command_not_found_handle {
# check because c-n-f could've been removed in the meantime
if [ -x /usr/lib/command-not-found ]; then
/usr/lib/command-not-found -- "$1"
return $?
elif [ -x /usr/share/command-not-found/command-not-found ]; then
/usr/share/command-not-found/command-not-found -- "$1"
return $?
else
printf "%s: command not found\n" "$1" >&2
return 127
fi
}
fi
Чем гадать, я бы посмотрел grep -R _have /etc. Может что лишнее и найдёт, но нужное тоже с высокой вероятностью.
Другой вариант — Вы и пользователю, и руту прописали в ~/.bashrc или ~/.profile что-то, что поломалось после обновления. Если невооружённым взглядом не видно, можно для проверки создать нового пользователя и проверить, воспроизведётся ли ошибка под ним.
Я тоже подумал про bash-completion, т.к. в его файлах встречаются строчки с _have.
Но в папке /usr/share/bash-completion/completions больше 100 файлов. Как искать источник ошибки? Файлы там все стандартные, т.к. я их вручную не исправлял.
И еще я подумал, что bash-completion по идее ведь нужен для помощи при наборе команд вручную? Почему же он тут пытается работать сразу после логина в консоли (т.е. до набора мной каких бы то ни было команд)?
в папке /usr/share/bash-completion/completions больше 100 файлов
Вряд ли дело в них. Есть ещё /etc/bash_completion.d/*, я бы начал оттуда.
Чудеса. Там файлов тоже было 26 файлов. Но со строчкой _have только один - /etc/bash_completion.d/wajig
Дата изменения у него была 2014 год, но какая-то путаница со скобками {}. Я удалил пакет wajig, т.к. давненько им не пользовался. И строки
Это не повторение, а подтверждение — сообщение от команды exit (или, скорее, покидаемой оболочки), что действительно выполняется выход. Если в Wheezy такого не было — тем хуже для Wheezy.