Страница 1 из 1

патченный bash & set -e, странное поведение

Добавлено: 2014-11-11 4:52:15
sunjob
добрый день

решил обновить BASH после "выхода в свет" недавно обнаруженной ДЫРЫ, точнее, присутствующей все время, и только недавно пристально обратившей на себя внимание

http://habrahabr.ru/company/mailru/blog/238475/
http://habrahabr.ru/post/238021/
etc...

патченный БАШ / bash - стал вести себя странно с оператором "set -e"
точнее, стал выбрасывать из скрипта по непонятным причинам, не смотря на то, что оператор, на котором происходил выход из скрипта - отрабатывал без ошибок

пример, скрипт монтирования (дан только как пример, не для пристального внимания)
Salix OS
раньше, т.е. все время - работал без проблем, а сейчас вываливается из скрипта после команды монтирования, и т.к. у меня после монитрования идут еще другие команды - то они не выполняются

cut --->

#/bin/sh
clear; set -e
HOST=xxx.xxx.xxx.xxx
PTR=~/tmp/mnt_${HOST}
(
mkdir -p ${PTR}
sudo umount -l ${PTR} > /dev/null
)
sshfs root@${HOST}:/ ${PTR} -p 18439 -o allow_other

...<blah blah blah> другие команды

cut --->

сначало установил самый последний БАШ
bash-4.3.0 patch to 4.3.30

и заметил, что перестали нормально работать slackBuild-скрипты, которые раньше нормально отрабатывали

подумал, что навый БАШ непереваривает старые оси, ладно, установил заплаты на "свой родной баш"
bash-3.2.48 patch to 3.2.57

и та же самая история, slackBuild-скрипты перестали отрабатывать... доходят до команды make - и вываливаются, несмотря на то, что сама команда отрабатывает без ошибок

в конечном итоге перестали работать около 100 пользовательских баш-скриптов
откатился на старый-дырявый баш

на десктопе такой откат - не существеннен, а вот на сервере...

что то случилось в мире опенсорса пока я отсутствовал? :о)
какие будут комментарии?

заранее спасибо

...

slackware 12.2
kernel 2.6.32.63-smp
kde-tde 3.5.12

bash source
http://ftp.gnu.org/gnu/bash/

bash-3.2.48
with patches: bash32-049 - bash32-057

bash-4.3
with patches: bash43-001 - bash43-030

Re: патченный bash & set -e, странное поведение

Добавлено: 2014-11-11 8:36:15
sunjob
я оишбаюсь или действительно в этом форуме нет возможности отредактировать топик?

Re: патченный bash & set -e, странное поведение

Добавлено: 2014-11-13 10:35:21
Alex Keda
есть. 15 минут после размещения сообщения.

Re: патченный bash & set -e, странное поведение

Добавлено: 2014-11-14 6:34:45
sunjob
спасибо, топик можно удалять, проблема, вообщем то, решена

Re: патченный bash & set -e, странное поведение

Добавлено: 2014-11-15 21:08:28
Alex Keda
вообще, принято решение писать.
чтоб другие набредя на такую проблему не мучались

Re: патченный bash & set -e, странное поведение

Добавлено: 2014-11-16 14:56:31
sunjob
тема, более полно рассмотрена тут
http://unixforum.org/index.php?showtopic=137953

коротко, можно сказать, что в основном, были "виновны" sshfs (так же обновленные)
выкладки по решению:

- установить новый "util-linux-2.19"
- пересобрать "fuse-2.8.5" с опцией разрешающей работу с "mtab"
- пересобрать "sshfs-fuse-2.5"

спасибо за внимание, не наступайте на мои грабли, удачи :о)