I have a bash
terminal window where I execute exclusively one command foo
. Because of that I’d like every line (after the prompt of course) to begin with „foo ” so that I just have to type the functions’ options and arguments, but not the recurrent function name. Of course it would be nice to be able to alter the automatically inserted string too, but that’s not essential for me.
Example
When I open the terminal, without typing anything what I want to see is:
user@host:~/ $ foo
Then I type --option argument
and when I press Enter the function foo
is called with the given --option
and argument
.
What I tried
I tried to fiddle around with $PS1
and $PROMPT_COMMAND
using xdotool type "foo "
and astonishingly that actually works, but unfortunately it also prints “foo ” before the prompt, which is quite ugly:
user@host:~/ $ PROMPT_COMMAND='xdotool type "foo "'
foo user@host:~/ $ foo
I also found and tried the preexec
function from Ryan Caloras’ bash-preexec script, but it has exactly the same problem.
How to echo (a (executable-)string) to the prompt, so that the cursor flashes at the end of the line? is related, but the answers there don’t make it possible to add something (--option argument
) to the command to be executed. I didn’t test zsh
though – there ought to be a bash
solution for such a simple thing, don’t you think?