Search code examples
linuxbashxterm

Redirect new xterm's output back to the original terminal


For example, I have a very simple script, ping.sh:

#!/bin/bash
/usr/bin/xterm -e ping localhost

Right now, the output of the ping only shows up in the new xterm. I would like the output to show in both the original terminal (stdout of ping.sh) as well as in the new xterm. Is there a way to do this?

PS: I'm struggling with a title for this.


Solution

  • Seems like a weird thing to do, but this might work:

    #!/bin/bash
    f=$(mktemp)
    touch "$f"
    tail -f "$f" &
    /usr/bin/xterm -e "sh -c 'ping localhost 2>&1 | tee -a $f'"