Что-то странное в консоли (подозреваю /etc/bashrc)

Cent OS, Scientific Linux

Модератор: Модераторы разделов

Аватара пользователя
AlexYeCu
Сообщения: 1136
ОС: fedora

Что-то странное в консоли

Сообщение AlexYeCu »

После апгрейда F17 до F19 наблюдаю при запуске консоли (хоть эмулятор терминала, хоть нет) вот такую картину:

Код: Выделить всё

bash: /yum: Нет такого файла или каталога
[login@host ~]$

Всё работает, всё ок, но надпись раздражает. Имеет место при логине под любым пользователем, т.е. ~/.bashrc не виноват.
Если в ~/.bashrc закомментировать

Код: Выделить всё

        . /etc/bashrc
,, то увидим вот что:

Код: Выделить всё

bash: /home/alexyecu/.bashrc: line 6: syntax error near unexpected token `fi'
bash: /home/alexyecu/.bashrc: line 6: `fi'
bash-4.2$

С чем связано, как убрать?

Второй момент, пока не разобрался: ibus-daemon, если кто использует, свою иконку нормально в системном лотке отрисовывает? У меня вот почему-то нет, до апгрейда отрисовывал. В общем-то, решил пока ради этого вопроса вторую тему не создавать.
Спасибо сказали:
Аватара пользователя
SLEDopit
Модератор
Сообщения: 4823
Статус: фанат консоли (=
ОС: GNU/Debian, RHEL

Re: Что-то странное в консоли

Сообщение SLEDopit »

А вы можете показать вам ~/.bashrc ( ну и, возможно, /etc/bashrc )?
UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity. © Dennis Ritchie
The more you believe you don't do mistakes, the more bugs are in your code.
Спасибо сказали:
Аватара пользователя
AlexYeCu
Сообщения: 1136
ОС: fedora

Re: Что-то странное в консоли

Сообщение AlexYeCu »

SLEDopit писал(а):
20.09.2013 00:05
А вы можете показать вам ~/.bashrc ( ну и, возможно, /etc/bashrc )?


/etc/bashrc

дефолтный ~/.bashrc

Мой ~/.bashrc содержит охапку alias`ов, пару export`ов и пару путей из /opt. Но, как я писал выше, проблема имеет место быть и дефолтным ~/.bashrc. Это я в первую очередь проверил.
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20752
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Что-то странное в консоли

Сообщение Bizdelnick »

Покажите ещё grep yum /etc/profile.d/*.sh.

AlexYeCu писал(а):
19.09.2013 23:56
Если в ~/.bashrc закомментировать

Код: Выделить всё

        . /etc/bashrc
,, то увидим вот что:

Код: Выделить всё

bash: /home/alexyecu/.bashrc: line 6: syntax error near unexpected token `fi'
bash: /home/alexyecu/.bashrc: line 6: `fi'
bash-4.2$

Нормальная реакция на пустой if.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
AlexYeCu
Сообщения: 1136
ОС: fedora

Re: Что-то странное в консоли

Сообщение AlexYeCu »

Bizdelnick писал(а):
20.09.2013 09:48
Нормальная реакция на пустой if.


Так вопрос не про неё, эти строки для иллюстрации условий, при которых пропадает сообщение

Код: Выделить всё

bash: /yum: Нет такого файла или каталога
, про которое и был вопрос.
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20752
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Что-то странное в консоли

Сообщение Bizdelnick »

Bizdelnick писал(а):
20.09.2013 09:48
Покажите ещё grep yum /etc/profile.d/*.sh.

Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
AlexYeCu
Сообщения: 1136
ОС: fedora

Re: Что-то странное в консоли

Сообщение AlexYeCu »

Bizdelnick писал(а):
20.09.2013 11:13
Bizdelnick писал(а):
20.09.2013 09:48
Покажите ещё grep yum /etc/profile.d/*.sh.


Не заметил. Пусто.
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20752
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Что-то странное в консоли

Сообщение Bizdelnick »

А в /etc/profile тоже ничего про yum?
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
AlexYeCu
Сообщения: 1136
ОС: fedora

Re: Что-то странное в консоли

Сообщение AlexYeCu »

Bizdelnick писал(а):
20.09.2013 11:21
А в /etc/profile тоже ничего про yum?

Ничего. И rsyslog в консоль ничего слать не должен:

Код: Выделить всё

#kern.*  /dev/console.
Вот, недоумеваю.
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20752
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Что-то странное в консоли

Сообщение Bizdelnick »

Может, это коплишн кривой? Не знаю, где они в Федоре лежат, В Debian - в /usr/share/bash-completion/.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
AlexYeCu
Сообщения: 1136
ОС: fedora

Re: Что-то странное в консоли

Сообщение AlexYeCu »

Bizdelnick писал(а):
20.09.2013 12:06
Может, это коплишн кривой? Не знаю, где они в Федоре лежат, В Debian - в /usr/share/bash-completion/.

Там и лежат, там для yum есть правила, но вроде ничего подозрительного.
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current
Контактная информация:

Re: Что-то странное в консоли

Сообщение drBatty »

AlexYeCu писал(а):
20.09.2013 09:56
Так вопрос не про неё, эти строки для иллюстрации условий, при которых пропадает сообщение

потому-что комментировать надо так, что-бы получился корректный код. А иначе вообще ничего после ошибки НЕ выполняется.

Вы должны не только закомментировать оператор, но и вставить пустой оператор (двоеточие), который нужен синтаксически. Фраза "карова мликопитающие жевотная" -- безграмотная. Так и у вас код неверный.

По теме: ошибка где-то во включающем скрипте. В . /etc/bashrc, в том, что включает . /etc/bashrc, или ниже по коду.

Hint: для отладки используйте команду set -x в начале первого скрипта.

(или ждите телепатов)

AlexYeCu писал(а):
20.09.2013 12:27
Там и лежат, там для yum есть правила, но вроде ничего подозрительного.

скорее всего какая-то переменная НЕ установлена, и вместо /tmp/yum получается /yum из строки

Код: Выделить всё

$TMP_DIR/$YUM_DIR
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
Аватара пользователя
AlexYeCu
Сообщения: 1136
ОС: fedora

Re: Что-то странное в консоли

Сообщение AlexYeCu »

Кстати, если сделать в корне директорию yum, то:

Код: Выделить всё

bash: .: /yum: является директорией


Т.е. ищется /usr/bin/yum, скорее всего.

Если же подсунуть ссылку на /usr/bin/yum, то

Код: Выделить всё

bash: try:: команда не найдена
и курсор-крест (меняется на нормальный по ctrl+c).

для отладки используйте команду set -x в начале первого скрипта


Пробовал, но не понял как это может помочь — ничего подозрительного.
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current
Контактная информация:

Re: Что-то странное в консоли

Сообщение drBatty »

AlexYeCu писал(а):
20.09.2013 15:47
Пробовал, но не понял как это может помочь — ничего подозрительного.

тогда ждите телепатов, у меня никаких крестов в консоли нету.
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
Аватара пользователя
Rootlexx
Бывший модератор
Сообщения: 4455
Статус: GNU generation
ОС: Debian GNU/Linux

Re: Что-то странное в консоли

Сообщение Rootlexx »

AlexYeCu писал(а):
20.09.2013 15:47

Код: Выделить всё

bash: try:: команда не найдена
и курсор-крест (меняется на нормальный по ctrl+c).

Хм. bash пытается выполнить скрипт на Python?
Спасибо сказали:
Аватара пользователя
AlexYeCu
Сообщения: 1136
ОС: fedora

Re: Что-то странное в консоли

Сообщение AlexYeCu »

Rootlexx писал(а):
20.09.2013 16:14
Хм. bash пытается выполнить скрипт на Python?

А шут его знает.
кусок strace
Собственно, очень похоже на версию Bizdelnick. Запостить файло комплишна?

Первые строки этого файла:

Код: Выделить всё

/etc/bash_completion.d/yum-utils.bash


Код: Выделить всё

# need functions from yum.bash
type -t _yum >/dev/null || . $(pkg-config --variable=completionsdir bash-completion)/yum
Спасибо сказали:
Аватара пользователя
Rootlexx
Бывший модератор
Сообщения: 4455
Статус: GNU generation
ОС: Debian GNU/Linux

Re: Что-то странное в консоли

Сообщение Rootlexx »

Попробуйте выполнить выделенное:

Код:

# need functions from yum.bash type -t _yum >/dev/null || . $(pkg-config --variable=completionsdir bash-completion)/yum
Спасибо сказали:
Аватара пользователя
AlexYeCu
Сообщения: 1136
ОС: fedora

Re: Что-то странное в консоли

Сообщение AlexYeCu »

Rootlexx писал(а):
20.09.2013 16:37
Попробуйте выполнить выделенное:

Ничего.

Код: Выделить всё

# need functions from yum.bash
#type -t _yum >/dev/null || . $(pkg-config --variable=completionsdir bash-completion)/yum
type -t _yum >/dev/null || . /usr/share/bash-completion/completions/yum


Так, теперь сообщение не вылезает.
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current
Контактная информация:

Re: Что-то странное в консоли

Сообщение drBatty »

Rootlexx писал(а):
20.09.2013 16:37
$(pkg-config --variable=completionsdir bash-completion)/yum

AlexYeCu писал(а):
20.09.2013 16:54
Ничего.

а должен быть путь.
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
Аватара пользователя
Rootlexx
Бывший модератор
Сообщения: 4455
Статус: GNU generation
ОС: Debian GNU/Linux

Re: Что-то странное в консоли

Сообщение Rootlexx »

drBatty писал(а):
20.09.2013 18:02
Rootlexx писал(а):
20.09.2013 16:37
$(pkg-config --variable=completionsdir bash-completion)/yum

AlexYeCu писал(а):
20.09.2013 16:54
Ничего.

а должен быть путь.

Надо глядеть в соответствующий файл .pc, расположение которого в общем случае зависит от дистрибутива и должно быть указано в man pkg-config. Может, просто название переменной поменялось.
Указание абсолютного пути проблему, конечно, "исправляет", но она может вылезти в другом месте, так что лучше разобраться, в чём причина.
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20752
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Что-то странное в консоли

Сообщение Bizdelnick »

Подозреваю, причина в том, /etc/bash_completion.d/yum-utils.bash не обновился при переходе на новую версию системы, поскольку помечен в пакете как необновляемый конфиг. Можно найти, из какого он пакета, распаковать последнюю версию и проверить отличия.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
AlexYeCu
Сообщения: 1136
ОС: fedora

Re: Что-то странное в консоли

Сообщение AlexYeCu »

Rootlexx писал(а):
20.09.2013 18:22
Надо глядеть в соответствующий файл .pc, расположение которого в общем случае зависит от дистрибутива и должно быть указано в man pkg-config. Может, просто название переменной поменялось.
Указание абсолютного пути проблему, конечно, "исправляет", но она может вылезти в другом месте, так что лучше разобраться, в чём причина.


Код: Выделить всё

/usr/share/pkgconfig/bigreqsproto.pc
/usr/share/pkgconfig/compositeproto.pc
/usr/share/pkgconfig/damageproto.pc
/usr/share/pkgconfig/dmxproto.pc
/usr/share/pkgconfig/dri2proto.pc
/usr/share/pkgconfig/evieproto.pc
/usr/share/pkgconfig/fixesproto.pc
/usr/share/pkgconfig/fontsproto.pc
/usr/share/pkgconfig/glproto.pc
/usr/share/pkgconfig/gnome-doc-utils.pc
/usr/share/pkgconfig/gnome-icon-theme-symbolic.pc
/usr/share/pkgconfig/gnome-icon-theme.pc
/usr/share/pkgconfig/gtk-doc.pc
/usr/share/pkgconfig/icon-naming-utils.pc
/usr/share/pkgconfig/inputproto.pc
/usr/share/pkgconfig/iso-codes.pc
/usr/share/pkgconfig/kbproto.pc
/usr/share/pkgconfig/randrproto.pc
/usr/share/pkgconfig/recordproto.pc
/usr/share/pkgconfig/renderproto.pc
/usr/share/pkgconfig/resourceproto.pc
/usr/share/pkgconfig/scrnsaverproto.pc
/usr/share/pkgconfig/shared-desktop-ontologies.pc
/usr/share/pkgconfig/shared-mime-info.pc
/usr/share/pkgconfig/systemd.pc
/usr/share/pkgconfig/udev.pc
/usr/share/pkgconfig/usbutils.pc
/usr/share/pkgconfig/videoproto.pc
/usr/share/pkgconfig/wayland-scanner.pc
/usr/share/pkgconfig/xbitmaps.pc
/usr/share/pkgconfig/xcmiscproto.pc
/usr/share/pkgconfig/xextproto.pc
/usr/share/pkgconfig/xf86bigfontproto.pc
/usr/share/pkgconfig/xf86dgaproto.pc
/usr/share/pkgconfig/xf86driproto.pc
/usr/share/pkgconfig/xf86miscproto.pc
/usr/share/pkgconfig/xf86vidmodeproto.pc
/usr/share/pkgconfig/xineramaproto.pc
/usr/share/pkgconfig/xml2po.pc
/usr/share/pkgconfig/xorg-macros.pc
/usr/share/pkgconfig/xproto.pc
/usr/share/pkgconfig/xproxymngproto.pc


Вопрос в том, какой из них является «соответствующим».
Спасибо сказали:
Аватара пользователя
Rootlexx
Бывший модератор
Сообщения: 4455
Статус: GNU generation
ОС: Debian GNU/Linux

Re: Что-то странное в консоли

Сообщение Rootlexx »

AlexYeCu писал(а):
20.09.2013 18:33
Вопрос в том, какой из них является «соответствующим».

Имя файла за вычетом расширения указано в самой команде: bash-completion. Как видим, файл отсутствует. Судя по списку файлов, этого быть не должно. Проверьте, установлен ли вообще пакет bash-completion.
Спасибо сказали:
Аватара пользователя
AlexYeCu
Сообщения: 1136
ОС: fedora

Re: Что-то странное в консоли

Сообщение AlexYeCu »

Rootlexx писал(а):
20.09.2013 18:46
этого быть не должно. Проверьте, установлен ли вообще пакет bash-completion.

Точно, не был установлен — не ожидал такого. Плюс, похоже, там ещё и куча ошибок в правилах:

Код: Выделить всё

bash: [: слишком много аргументов
bash: [: слишком много аргументов
bash: [: =: ожидается использование унарного оператора
bash: [: =: ожидается использование унарного оператора


Экономия на скобках, блин.
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current
Контактная информация:

Re: Что-то странное в консоли

Сообщение drBatty »

AlexYeCu писал(а):
20.09.2013 20:02
Точно, не был установлен — не ожидал такого.

что-то у вас не так. То, что лично вы не ожидали, это нормально. Но вот ваш yum (или что там у вас над rpm?) ожидал, и не нашёл -- это что-то не то. Проверьте СУБД вашего дистра, ищите в документации команду типа rebuilddb или что-то подобное. Иначе проблемы так и будут лезть на каждом шагу.

AlexYeCu писал(а):
20.09.2013 20:02
bash: [: слишком много аргументов
bash: [: =: ожидается использование унарного оператора


Экономия на скобках, блин.

ну надо помнить, что [ это КОМАНДА такая. Т.е. это вам не сишечка и не бейсик. Синтаксически [ является не конструкцией ЯП, а обычной командой, типа /sbin/reboot.

Да, она встроенная в bash. Но синтаксис оставлен для совместимости с POSIX shell. Если вы хотите в скриптах использовать нормальное условие как в обычных ЯП, то используйте непереносимый башизм [[ ... ]].

Если-же вы пишите переносимы скрипт, который должен везде работать, то смиритесь с тем, что [ это такая команда, которая ждёт ДВА аргумента.

первый аргумент -- либо строка, либо некое "условие" Почитать про эти условия можно в man test.
второй аргумент -- это скобка "]"

Ну и если написать [ $VAR = "yes" ], и при этом $VAR пусто, то получится [ = "yes" ]. Что синтаксически неверно. Ну надо либо писать [ "$VAR" = "yes" ], либо ещё можно [ Z$VAR = Zyes ]. Но кто-же знал, что придёт AlexYeCu, и руками убьёт дополнение баша так, что его yum будет думать, что оно ещё есть?
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
Аватара пользователя
AlexYeCu
Сообщения: 1136
ОС: fedora

Re: Что-то странное в консоли

Сообщение AlexYeCu »

drBatty писал(а):
21.09.2013 00:20
что-то у вас не так. То, что лично вы не ожидали, это нормально. Но вот ваш yum (или что там у вас над rpm?) ожидал, и не нашёл -- это что-то не то.


Обновление через версию, плюс обновление rpm, похоже. Почему эту возможность не добавили в правила fedup — без понятия.

ну надо помнить, что [ это КОМАНДА такая. Т.е. это вам не сишечка и не бейсик. Синтаксически [ является не конструкцией ЯП, а обычной командой, типа /sbin/reboot.

Да, она встроенная в bash. Но синтаксис оставлен для совместимости с POSIX shell. Если вы хотите в скриптах использовать нормальное условие как в обычных ЯП, то используйте непереносимый башизм [[ ... ]].


Так в том и дело, что это не мои скрипты, а федорины. Вроде поправил всё на «непереносимые башизмы» — штук 7 нашёл. Практически во всех случаях проблемы вызывали конструкции, связанные с определением платформы (мне офигеть как надо автокомплит для манов в Дарвине и Цигвине, ага).
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current
Контактная информация:

Re: Что-то странное в консоли

Сообщение drBatty »

AlexYeCu писал(а):
21.09.2013 11:03
связанные с определением платформы (мне офигеть как надо автокомплит для манов в Дарвине и Цигвине, ага).

я вообще не очень понимаю, зачем нужен башкомплит без баша? Поинтересуйтесь у разработчиков, что за дурь они курили?
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
Аватара пользователя
AlexYeCu
Сообщения: 1136
ОС: fedora

Re: Что-то странное в консоли

Сообщение AlexYeCu »

drBatty писал(а):
21.09.2013 11:51
я вообще не очень понимаю, зачем нужен башкомплит без баша? Поинтересуйтесь у разработчиков, что за дурь они курили?

Так релиз зовётся Schrödinger’s Cat. Видимо, стараются соответствовать. Но скорее всего дело именно в обновлении системы — содержимое bash-complete меняется от версии к версии, старые файлы не подчищаются. Плюс этот самый /etc/bash_completion.d набивается из тучи файлов.
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current
Контактная информация:

Re: Что-то странное в консоли

Сообщение drBatty »

AlexYeCu писал(а):
21.09.2013 12:38
Так релиз зовётся Schrödinger’s Cat.

м... А при чём тут этот кот? Вы его с чеширским не путаете?
AlexYeCu писал(а):
21.09.2013 12:38
Но скорее всего дело именно в обновлении системы — содержимое bash-complete меняется от версии к версии, старые файлы не подчищаются. Плюс этот самый /etc/bash_completion.d набивается из тучи файлов.

дык это дополнение и есть -- та самая куча файлов. Сам код там примитивен.
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
Аватара пользователя
AlexYeCu
Сообщения: 1136
ОС: fedora

Re: Что-то странное в консоли

Сообщение AlexYeCu »

drBatty писал(а):
21.09.2013 17:48
м... А при чём тут этот кот? Вы его с чеширским не путаете?

При том, что нельзя сказать, жив он или мёртв. Над выбором имени для 19-й версии Федоры уже кто только не смеялся. Хотя, конечно, после Сферической коровы и Мясистого чуда особо никто не удивился. Но вообще, должен заметить, релиз довольно стабильный. Не считая косяка с автодополнением (решён), столкнулся с неотображением иконки ibus (это регулярный баг в многих дистрибутивах, то появляется, то чинится и так уже который год) и с тем обстоятельством, что для ядра 3.11 пока нет проприетарных дров NVIDIA. Тут, кстати, федоровцев тоже есть за что пнуть — раз такая пьянка, могли б и не убирать ядро 3.10 из реп, а то оставили только самое первое для f19 и 3.11, остальное — в закромах у koji. Но в целом — вполне приличный релиз.
Спасибо сказали:
Ответить