Avoid gnome-terminal close after script execution?
As I understand you want gnome-terminal to open, have it execute some commands, and then drop to the prompt so you can enter some more commands. Gnome-terminal is not designed for this use case, but there are workarounds:
Let gnome-terminal run bash and tell bash to run your commands and then run bash
$ gnome-terminal -e "bash -c \"echo foo; echo bar; exec bash\""
The exec bash
at the end is necessary because bash -c
will terminate once the commands are done. exec
causes the running process to be replaced by the new process, otherwise you will have two bash processes running.
Let gnome-terminal run bash with a prepared rcfile
which runs your commands
Prepare somercfile
:
source ~/.bashrc
echo foo
echo bar
Then run:
$ gnome-terminal -e "bash --rcfile somercfile"
Let gnome-terminal run a script which runs your commands and then drops to bash
Prepare scripttobash
:
#!/bin/sh
echo foo
echo bar
exec bash
Set this file as executable.
Then run:
$ gnome-terminal -e "./scripttobash"
Alternatively you can make a genericscripttobash
:
#!/bin/sh
for command in "$@"; do
$command
done
exec bash
Then run:
$ gnome-terminal -e "./genericscripttobash \"echo foo\" \"echo bar\""
Every method has it's quirks. You must choose, but choose wisely. I like the first solution for its verbosity and the straightforwardness.
All that said, this might be of good use for you: http://www.linux.com/archive/feature/151340
Finally this one works for me:
gnome-terminal --working-directory=WORK_DIR -x bash -c "COMMAND; bash"