<br><br><div class="gmail_quote">On Wed, Feb 9, 2011 at 7:07 PM, Mike Miller <span dir="ltr"><<a href="mailto:mbmiller%2Bl@gmail.com">mbmiller+l@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<br>
...and I'm noticing that "history -a file" does not do anything if I wrote previously with "history -w file".  I think this is a very serious bug that could cause loss of an important command history.<br>

<br>
I see here that it has been fixed in bash 4.2 release candidate 2...<br>
<br>
<a href="http://groups.google.com/group/gnu.bash.bug/browse_thread/thread/48152c5e8c35b743?pli=1" target="_blank">http://groups.google.com/group/gnu.bash.bug/browse_thread/thread/48152c5e8c35b743?pli=1</a><br>
<br>
...but I'm still on 4.0.33 on my main box.  It gets worse.  Here are two other boxes that I use a lot:<br>
<br>
<br>
How many years will pass before I get the bug fix?  With CentOS I'll probably die first.<br>
<br>
Mike<br></blockquote><div><br>Hi Mike, <br><br>bash is pretty easy to build.  I'm sure you could crank out a personal version and set your shell to use it instead (or exec your personel version during the login phase) in a blink.  I'd probably just symlink to my personal copy until the distro finally caught up and then replace the symlink with the old binary before doing the update.  (That's me - there are probably better ways to do it, like changing your default shell in /etc/passwd)...  <br>
<br>The whole point of Open Source was, in part, to facillitate collaboration and to enable people to get bug fixes as soon as they are fixed.  If you want to wait on a productized distro to eventually get around to it, that's your business.  But it's not their fault for not jumping on an issue as as quickly as you'd like.  Unless you're paying them and they've violated an SLA you paid money for them to abide by. <br>
<br>wget <a href="ftp://ftp.gnu.org/pub/bash/">ftp://ftp.gnu.org/pub/bash/</a><the_one_you_want>.tar.gz <br>tar -xzf bash*gz<br>cd bash*<br>./configure --prefix=$HOME/bin <br>make <br>make install <br><br>configure your system to get the new shell as you like.  Make sure you have libreadline and its headers along with build-essentials (i.e., a working compiler).   You might need a few other libs too but libreadline is the big one for bash. <br>
<br>Also, I always do a ./configure --help and review flags for functionality I need to flip at compile time before running the full configure.  And, of course, it's never a bad idea to check the signatures of the files you download before compiling them - especially if root is going to run your shell.  :) <br>
<br>-Rob </div></div>