Hello, today I was wondering why I'm sometimes losing history entries and found out that bash (5.0.3(1)-release, on Debian testing) won't save the history file on closing the terminal window if it's currently sourcing something. I'm attaching a script that uses tmux to simulate the scenario. On my system, only "test 1" is printed, not "test 2" as expected. I think this is a bug.
A more realistic example (what actually caused my losing of history entries) is Midnight Commander: many distros install the following file into /etc/profile.d: https://github.com/MidnightCommander/mc/blob/master/contrib/mc.sh.in which sources https://github.com/MidnightCommander/mc/blob/master/contrib/mc-wrapper.sh.in so that when one exits mc, the outer shell chdirs to the last directory browsed in mc. But this means one loses all history entries from the session before invoking mc. (Workaround for mc: invoke history -a before sourcing mc-wrapper. Or disable this wrapper entirely.) Regards, -- Tomáš Janoušek, a.k.a. Pivník, a.k.a. Liskni_si, http://work.lisk.in/
test2.sh
Description: Bourne shell script