On Sat, Nov 6, 2021, 19:04 Lawrence Velázquez <v...@larryv.me> wrote:

> On Sat, Nov 6, 2021, at 2:41 AM, Alex fxmbsw7 Ratchev wrote:
> > cat function/command_not_found_handle
> > m "$BASH_COMMAND"
> >
> > type m
> > m is aliased to `vim'
> >
> > type command_not_found_handle
> > command_not_found_handle is a function
> > command_not_found_handle ()
> > {
> >     vim "$BASH_COMMAND"
> > }
>
> lmao so you're going to go ahead and do this anyway, incredible
>
i do this cause it only goes maxdepth 1, if i enter foo/nonexist it wont
open
sad

>
> > foo
> > # vim opens, with the bash cmd as arg ( threated as filename )
> >
> > "vim "$BASH_COMMAND"" [New]                                     0,0-1
> >    All
>
> Do you expect BASH_COMMAND to have the value of the original command?
> It only works that way within traps.  `command_not_found_handle`
> isn't a trap.
>
>     bash-5.1$ command_not_found_handle() { declare -p BASH_COMMAND; }
>     bash-5.1$ foo
>     declare -- BASH_COMMAND="declare -p BASH_COMMAND"
>
> This is the same behavior you'd see outside of `command_not_found_handle`.
>
>     bash-5.1$ declare -p BASH_COMMAND
>     declare -- BASH_COMMAND="declare -p BASH_COMMAND"
>
> Maybe try using the positional parameters instead.
>
yes thats definately teh solution
thank you

>
>     bash-5.1$ command_not_found_handle() { printf '<%s>\n' "$@"; }
>     bash-5.1$ foo a b c
>     <foo>
>     <a>
>     <b>
>     <c>
>
> --
> vq
>

Reply via email to