[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: redirection back to tty problem
From: |
Alex fxmbsw7 Ratchev |
Subject: |
Re: redirection back to tty problem |
Date: |
Sun, 27 Feb 2022 12:02:42 +0100 |
to update the topic
cmd= was set on other debug trap cmds, removing this else made it work
now im at vim cant read tty error
gotta see how to duplicate and redirect fds, plz its hard
On Sun, Feb 27, 2022 at 11:58 AM Alex fxmbsw7 Ratchev <fxmbsw7@gmail.com>
wrote:
> so i dunno much about redirection but first i 1 and 2 to tty and it shows
> no problem
> then in PROMPT_COMMAND the same has no effect:
>
> curl http://ix.io/3QTT
> fg
> vim cmdhelp
>
> [1]+ Stopped vim cmdhelp
> 148 exit 69373s old @1645958807.31567 == Sun Feb 2022-02-27 11:46:47.31567
> +0100
> # root:0:0 # @ /dev/pts/2 ( 1 ) boost -> /root
> .config/ .xbl/ tt/ xbl5/ xbl5e/ xmbttpd/ .pki/ .cache/ .local/ .john/
> ar_x/ GNUstep/ .ssh/
> .cmdhelp.swp cmdhelp .bash_history 2 4 3 .viminfo .lesshst 1 foo2.png
> foo.png .xinitrc .xbl.bash docs.install.sshssl
> .bashrc@ .profile@
> bash --norc
> bash-5.1# . cmdhelp
> bash-5.1# w
> 11:46:51 up 1 day, 13:15, 5 users, load average: 1.05, 1.36, 1.51
> USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
> root tty2 - Fri23 36:30m 0.08s 0.04s -bash
> root pts/1 :0 Sat16 19:16m 0.00s 0.00s bash
> root pts/2 :0.0 Sat16 3.00s 0.34s 0.00s w
> root pts/3 :0.0 Sat16 17:51m 0.00s 0.00s bash
> root pts/4 :0.0 Sat16 26:10 0.45s 0.45s bash
> bash-5.1# w --help
> 130 exit 69381s old @1645958815.065149 == Sun Feb 2022-02-27
> 11:46:55.065149 +0100
> #!/usr/bin/env -S bash
>
> # for to be sourced in .bashrc or such
>
> unset -v i
> [[ ! ${i=$SRANDOM} ]] && {
> printf 'no support outdated bash plz update\n'
> exit 1
> }
>
> exec 1>/dev/tty 2>/dev/tty
> t=/tmp/.$i o1=$t.1 o2=$t.2
>
> trap '
> if [[ $BASH_COMMAND == *--help* ]] ; then
> exec >"$o2" 2>&1
> cmd=$BASH_COMMAND
> else
> cmd=
> fi' debug
>
> PROMPT_COMMAND='
> if [[ $cmd ]] ; then
> exec 2>/dev/tty 1>/dev/tty
> {
> printf %s "$cmd
>
> "
> cat "$o2"
> } | vim -
> cmd= # multi sourced clean up
> fi
> '$PROMPT_COMMAND
>
> On Sun, Feb 27, 2022 at 11:31 AM Alex fxmbsw7 Ratchev <fxmbsw7@gmail.com>
> wrote:
> >
> > i made by request of an user a script that intercepts whenever a --help
> cmd is given, to open that output in vim ( nvim ) i guess to study, good
> thing
> >
> > but the redirection back on line 23 ( to >/dev/tty ) doesnt seem to have
> any effect
> >
> > plz suggest, file 'cmdhelp'
> >
> > #!/usr/bin/env -S bash
> >
> > # for to be sourced in .bashrc or such
> >
> > unset -v i
> > [[ ! ${i=$SRANDOM} ]] && {
> > printf 'no support outdated bash plz update\n'
> > exit 1
> > }
> >
> > t=/tmp/.$i o1=$t.1 o2=$t.2
> >
> > trap '
> > if [[ $BASH_COMMAND == *--help* ]] ; then
> > exec >"$o2" 2>&1
> > cmd=$BASH_COMMAND
> > else
> > cmd=
> > fi' debug
> >
> > PROMPT_COMMAND=$'
> > if [[ $cmd ]] ; then
> > exec >/dev/tty 2>&1
> > {
> > printf %s\\n\\n "$cmd"
> > cat "$o2"
> > } | vim -
> > cmd= # multi sourced clean up
> > fi
> > '$PROMPT_COMMAND
>