C++ may not be the worst programming language ever created,
but without a doubt it’s the worst ever to be taken seriously.
(Mason Wheeler)

There are two problems that constantly occur when dealing with shells: Some shell-applications have crappy input-routines that do not have a history and do not allow the usage of the arrow keys, and it often happens that I start an X11-Application that is then associated to that shell, so I cannot close my terminal emulator without killing that X11-Application.

For both problems, there are solutions.

Using rlwrap before your command adds a wrapper around the program that adds a history and support for arrow keys to the input-routines of an application.

Using nohup before your command detaches the input, writes the output into a file, and blocks the hangup-signals of a terminal emulator, so you can start X11-Applications and close your terminal emulator anyway.

Usefull tools that everybody should know about.