On Jul 29 11:44:32, developer@robert-palm.de wrote:
> > On Jul 29 09:47:39, developer@robert-palm.de wrote:
> > > wonder how I can get TAB completion in the shell when using doas ...
echo $SHELL
Different shells do (or don't) this differently.
> > tab completion is not specific to any command.
>
> Hm, it does work, e.g. when I start typing
>
> $sysu<TAB>
>
> it shows me the commands starting with "sysu"
Yes. That is not specific to sysupgrade.
> But I would like this to happen even if I use
>
> $doas sysu<TAB>
If I am not mistaken, command names are only completed
as the first (zeroth) argument. Doing this for the second argument
would be doas-specific: the shell would need to know that while
a command (doas) has already been given, there is still another
command to be given, because the first is doas; in other words,
the shell would need to know the semantics of the (first) command,
which it doesn't. For the > first argument, file names are completed
instead, as that is a typical argument to a command (already given).
> There seems to be a solution for the bash shell (adding following to
> ~/.bashrc)
>
> complete -cf doas
>
> but I cannot figure out how to do this for ksh.
>
> My workaround is to type in the command (using autocompletion) and then jump
> to the beginning of the shell again adding doas in front of the cmd.
>
> But it would be nice to start with doas and then simply typing in the cmd...
Why stop here? It would be "nice" if tab-completion would complete
the hostnames from ~/.ssh/known_hosts when you have already said 'ssh';
some shells do that, the OpenBSD ksh doesn't.
It is the opposite of siplicity.
No comments:
Post a Comment