The tmux, terminal multiplexer, like gnu screen, allows one to have multiple terminal sessions at once.
tmux
      If you split a window into panes, with ctrl-B (or
      with ctrl-A if you set it up that way) + "
      or tmux split-window, you can see two shell sessions
      at the same time.
    
tmux split-window
The default vertical split puts a session on top and another on the bottom and a cute horizontal line in between, drawn with pretty line drawing characters.
$ echo 'top' top $ ──────────────── $ echo 'bottom' bottom $
      A SUPER cute feature is the ability to send keys from
      one half to the other.  Note that enter sends a "\n".
    
$ echo top top $ ────────────────────────────────────── $ tmux send-keys -t 0 'echo top' enter $ █
In fact, this is so cute that it could be made into a nice workflow -- type into one half and see the output in another half. The nice thing about this is that it will work even if the output is lengthy, or you are on a remote connection and want a history, or you are in some other console environment (docker, rails, python debugger session) and want to be able to keep track of what you are sending.
$ pwd /home/bduggan $ date Thu Jan 31 21:23:14 EST 2019 $ echo 123 123 ────────────────────────────────────── > pwd > date > echo 123 > █
Let's write a little program to implement this.
#!/usr/bin/env perl6
loop {
    my $str = prompt '> ' or last;
    run <<tmux send-keys -t 0 -l "$str">>;
    run <<tmux send-keys -t 0 enter>>;
}    
  Let's try it out!
$ echo 'how now brown cow' how now brown cow $ echo "a b c" a b c $ seq 2 5 2 3 4 5 $ ────────────────────────────────────── > echo 'how now brown cow' > echo "a b c" > seq 2 5 > ^D $ █
tmux      
      can
      help
      with
      making
      a
      meta-terminal
      --
      letting
      you
      send
      commands
      from
      somewhere
      else.    run      
      in
      Perl
      6
      is
      a
      handy
      way
      to
      spawn
      a
      command.    <<      
      and
      >>      
      is
      an
      interpolating
      word-quoting
      construct
      that
      works
      with
      strings
      enclosed
      in
      quotation
      marks.    prompt      
      returns
      a
      falsey
      value
      when
      it
      receives
      an
      end-of-file
      indicator.