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
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…