If you want to execute one command and then another one after the first one finish, you can executecommand1 &which prints the PID of the process executing command1.You can then think of what you want to do after command1 has finished and execute:wait [PID printed by the previous command] && command2However, this only works in the same terminal window and gets really, really messy if command1 prints output. If you open up a new terminal window and try to wait, you're shown something like this:$ wait 10668bash: wait: pid 10668 is not a child of this shellIs there a terminal emulator which supports waiting for programs without having to write the next command in the output of the currently executing command without throwing the output of the first command away (like piping it to /dev/null)?It doesn't have to work via wait or something similar. Right-clicking and choosing execute after current command returned would be perfectly fine.I don't mean simply concatenating commands but being able to run a command and then decide on what to run right after that one finished. 
Wait for program in a clean way (e.g. in a different terminal window)
command line;process
Often, having given a long-running command, when you want to prepare the next command to run afterwards, you use shell job control to achieve it. Eg, you have given command1, not with an &, and then you want to give command2, so you suspend the current running command by typing control-z. You now have the shell prompt again, so you typefg; command2and the fg will resume your first command, and when it finishes the shell will start your second command.If you did start command1 with &, it is in the background. You can bring it to the foreground with fg, then suspend it and so on as before.