> $ script foo.txt > Script started, output log file is 'foo.txt'. > $ date > Sun 4 Feb 09:44:00 GMT 2024 > $ exit > exit > Script done. > $ history|tail -n2 > 30797 2024-02-04 09:43:57 script foo.txt > 30798 2024-02-04 09:44:21 history|tail -n2 > > I did try to search on this but just got lots of "bash history" and "history in > bash script" references. So this might surprise you but the commands are actually in the history list! But not in the current shell. What happens is this: You start 'script foo.txt' and this starts a sub bash shell on a different pseudo tty. You run some commands, it appends each command to the history of this sub-shell's history. You then exit your script. Those commands you ran are at the bottom of .bash_history (try to cat that file out after you exit script and you should see them). But those commands are not sucked into the history of your current shell. Then, you log out (or exit) your current shell and the history of that shell overwrites the history of the previous one. If all you want to do is save off the commands after you exit your script session, then simply move or copy .bash_history out of the way before it gets overwritten. You might consider setting $HISTFILE to some other location other than .bash_history. Michael Grant
Attachment:
signature.asc
Description: PGP signature