I am reporting this realizing, this non-idempotent behavior will likely
not be considered a bug.
However, in a scripting language, when one would want to use scripts not
attended, it is disturbing (at least, to me).
Try any command that does not exist, four (4) times. The first three
times, we get "Command not found". The fourth time, we are prompted for
an alias. This is not desirable. If anything, why not ask the first time?
========================
~/tmp $ 1
1: command not found
~/tmp $ 1
1: command not found
~/tmp $ 1
1: command not found
~/tmp $ 1 ### Prompt: Define alias for "1"
========================
Is there a way to change this, to never ask for an alias? I
apologize if I missed some customization, I did look quite a bit.
Addendum:
=================================
I also offer this slant on the issue:
~/tmp $ if ${> 3 1} {echo "FIRST"} {echo "SECOND"}
FIRST
~/tmp $ if ${> 3 1} {echo "FIRST"} {echo "SECOND"}
FIRST
~/tmp $ if ${> 3 1} {echo "FIRST"} {echo "SECOND"}
FIRST
~/tmp $ if ${> 3 1} {echo "FIRST"} {echo "SECOND"} ### Prompt: Define alias for "nil"
This actually shows a bug in the conditionals. I assume the test returns
nil which for some reason is, on the 4th attempt to considered a
command?
Maybe it is confused because of this behavior:
~/tmp $ if ${< 3 1} {echo "FIRST"} {echo "SECOND"}
Eshell does not support input redirection
and same here: