This is related to the discussion about the portability [1]. I wrote this code some time ago for some reason. My motivation at that time was trap handling. We use the EXIT trap in several places. The POSIX [2] mentions the 'EXIT' as the trap condition, but nothing about the actual conditions that trigger the EXIT trap. Bash invokes the EXIT trap when it exits after receiving an unhandled signal, while dash does not. I did not submit the patches because I lost the use-case of the EXIT trap except cleaning temporary files. It is harmless to have temp files left over. Recently, I saw a bug report regarding the portability of 'echo' ('echo' is a shell's built-in command. The behavior is different between bash and dash). I am sharing this patch set as RFC in case somebody might have interest or comment. I am still wondering if this might be a big hammer, though. [1]: https://lore.kernel.org/all/e902a360e3759c7f87d98d71d79a0d5cbe935e3e.camel@xxxxxxxxxxxxxxxxxxx/ [2]: https://pubs.opengroup.org/onlinepubs/009604599/utilities/trap.html Masahiro Yamada (3): kconfig: move declarations for prepossessing to internal.h kconfig: allow to choose the shell for $(shell ) functions kbuild: use bash as the default shell for Make and Kconfig .../kbuild/kconfig-macro-language.rst | 4 ++ Makefile | 7 ++ scripts/Kconfig.include | 3 + scripts/kconfig/confdata.c | 1 + scripts/kconfig/internal.h | 18 +++++ scripts/kconfig/lexer.l | 1 + scripts/kconfig/lkc_proto.h | 13 ---- scripts/kconfig/parser.y | 1 + scripts/kconfig/preprocess.c | 66 +++++++++++++++---- 9 files changed, 87 insertions(+), 27 deletions(-) -- 2.34.1