Как я понимаю, вы хотите, чтобы gnome-терминал открылся, чтобы он выполнял некоторые команды, а затем переходил к приглашению, чтобы вы могли ввести еще несколько команд.Gnome-терминал не предназначен для этого варианта использования, но есть обходные пути:
Пусть gnome-терминал запускает bash и сообщает bash, что нужно запускать ваши команды, а затем запускает bash
$ gnome-terminal -e "bash -c \"echo foo; echo bar; exec bash\""
The exec bash
в конце необходимо, потому что bash -c
завершится, как только команды будут выполнены.exec
вызывает замену запущенного процесса новым процессом, иначе у вас будут запущены два процесса bash.
Пусть gnome-терминал запускает bash с подготовленным rcfile
, который выполняет ваши команды
Prepare somercfile
:
source ~/.bashrc
echo foo
echo bar
Затем запустите:
$ gnome-terminal -e "bash --rcfile somercfile"
Пусть gnome-терминал запускает скрипт, который запускает ваши команды и затем сбрасывается в bash
Подготовьте scripttobash
:
#!/bin/sh
echo foo
echo bar
exec bash
Установите этот файл как исполняемый.
Затем запустите:
$ gnome-terminal -e "./scripttobash"
В качестве альтернативы вы можете сделать genericscripttobash
:
#!/bin/sh
for command in "$@"; do
$command
done
exec bash
Затем запустите:
$ gnome-terminal -e "./genericscripttobash \"echo foo\" \"echo bar\""
У каждого метода есть свои причуды.Вы должны выбрать, но выбирайте с умом.Мне нравится первое решение для его многословия и прямолинейности.
Все, что сказано, это может быть полезно для вас: http://www.linux.com/archive/feature/151340