Configuration Information [Automatically generated, do not change]: Machine: x86_64 OS: linux-gnu Compiler: x86_64-pc-linux-gnu-gcc Compilation CFLAGS: -O2 -pipe -march=native -fomit-frame-pointer uname output: Linux ryzen 5.10.52-gentoo #1 SMP Sat Aug 21 22:58:34 CEST 2021 x86_64 AMD Ryzen 9 3900X 12-Core Processor AuthenticAMD GNU/Linux Machine Type: x86_64-pc-linux-gnu
Bash Version: 5.1 Patch Level: 16 Release Status: release Description: Using the default `shopt -s cmdhist; shopt -u lithist`, multi-line commands which include completely empty lines (e.g. copied from a spaciously formatted script) do not get the appropriate semicolons. Thus, the command being stored in the history is wrong! The problem exists for all multi-line commands, including if, for, while Note: The problem does not appear if using `shopt -s lithist` Repeat-By: Starting from a clean and freshly compiled bash Note the empty line before the 2nd `echo`(just hitting return twice) ~/bash-5.1.16 $ ./bash --noprofile --norc bash-5.1$ if true; then echo A
echo B; fi
A B bash-5.1$ !! if true; then echo A echo B; fi A echo B Expected behaviour: bash-5.1$ !! if true; then echo A; echo B; fi A B När du har kontakt med oss på Uppsala universitet med e-post så innebär det att vi behandlar dina personuppgifter. För att läsa mer om hur vi gör det kan du läsa här: http://www.uu.se/om-uu/dataskydd-personuppgifter/ E-mailing Uppsala University means that we will process your personal data. For more information on how this is performed, please read here: http://www.uu.se/en/about-uu/data-protection-policy