commit: f237d67b478f0a0ad995eb20ca170f765724c9ee
parent 10d2a72d16b12eca04c760db6eebad5f329a4001
Author: fosslinux <fosslinux@aussies.space>
Date: Tue, 6 Feb 2024 06:11:05 +0000
Merge pull request #433 from Googulator/better-early-bash-prompt
Improve pseudo-interactive prompts using the early bash
Diffstat:
2 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/seed/script-generator.c b/seed/script-generator.c
@@ -451,8 +451,9 @@ FILE *start_script(int id, int bash_build) {
if (bash_build != 1) {
fputs("set -E\ntrap 'env PS1=\"[TRAP] \\w # \" bash -i' ERR\n", out);
} else {
- fputs("set -E\ntrap 'bash -c '\"'\"'while true; do printf \""
- "[TRAP - use Ctrl+D] $(pwd) # \"; $(cat); done'\"'\"'' ERR\n",
+ /* FIXME early bash has buggy ERR trap handling */
+ fputs("set -e\ntrap 'bash -c '\"'\"'while true; do printf \""
+ "[TRAP - use Ctrl+D] $(pwd) # \"; eval \"$(cat)\"; done'\"'\"'' EXIT\n",
out);
}
} else {
diff --git a/steps/improve/open_console.sh b/steps/improve/open_console.sh
@@ -7,5 +7,5 @@
if bash --version | grep -q 'GPLv3'; then
env - PATH=${PREFIX}/bin PS1="\w # " openvt -- bash -i
else
- bash -c 'while true; do printf "[early Bash - use Ctrl+D] $(pwd) # "; $(cat /dev/tty2); done' &> /dev/tty2 &
+ bash -c 'while true; do printf "[early Bash - use Ctrl+D] $(pwd) # "; eval "$(cat /dev/tty2)"; done' &> /dev/tty2 &
fi