Jump to content
sunjob

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

Recommended Posts

добрый день

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

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

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

пример, скрипт монтирования (дан только как пример, не для пристального внимания)

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

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 XXXXX -o allow_other 

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

 

$ mount | grep ${PTR}

 

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

 

Share this post


Link to post
Share on other sites

тема, более полно рассмотрена тут
http://unixforum.org/index.php?showtopic=137953

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

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

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

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

×
×
  • Create New...