rcaloras/bash-preexec

`__bp_preexec_invoke_exec "$_"` printed when running multiple commads

Opened this issue · 0 comments

I originally discovered this when using bash-it, and posted an issue there as well: Bash-it/bash-it#1895
I'm reproducing the relevant bits:

Ctrl + X, Ctrl + E allows opening the current bash command in the default editor.
I sometimes to this to enter multiple commands (separated by newline).
After saving and exiting the editor, the commands are run as expected.

For the examples below I'll consider the following commands:

echo 1
echo 2
echo 3

Expected Behavior

What is expected is that only the commands and their results are being printed to the console.
Here's an example of such an interaction without bash-it:

$> echo # <== at this point I fired up the editor to type in the aforementioned command(s).
echo 1
1
echo 2
2
echo 3
3

Current Behavior

Here's what's being printed when using bash-it:

❯ echo # <== using the editor to type in the commands again
echo 1
__bp_preexec_invoke_exec "$_"
1
echo 2
__bp_preexec_invoke_exec "$_"
2
echo 3
__bp_preexec_invoke_exec "$_"
3

I'm not sure if this is a bug; it may be the intended behavior, so please confirm.

Steps to Reproduce

  1. Press Ctrl + X, Ctrl + E on the command line
  2. Use the editor to enter more than one command (newline separated)
  3. Save && exit
  4. Inspect the output. You're likely to see the expected output, plus some __bp_preexec_invoke_exec "$_" lines between each command and its output.

Environment

  • Bash-it version used: dev (git SHA: 2444a57 on 2021-06-10T16:04:56+03:00)

  • List of enabled plugins, themes and aliases (use bash-it show (plugins/themes/aliases)): no plugins, no aliases, powerline-multiline theme (also tested with themes bobby & nwinkler and got the same result)

  • bash-it doctor output:

  • Bash version: 5.0.3(1)-release

  • Operating System and version: Debian 10 (buster)