Откройте новый терминал и запустите скрипт двойным щелчком в Unity.

Я хочу выполнить

expect -c "
    spawn ssh user@10.0.0.0
    expect \"assword:\"
    send \"pass\r\"
    interact "

в новом терминале, дважды щелкнув по сценарию .sh.

Я попытался

#!/bin/bash

commands () {
    expect -c "
    spawn ssh root@10.0.0.0
    expect \"assword:\"
    send \"pass\r\"
    interact "
    $SHELL # keep the terminal open after the previous commands are executed
}

export -f commands

gnome-terminal -e "bash -c 'commands'"

без удачи. Есть идеи?

0
задан 6 April 2015 в 00:28

1 ответ

  1. можно использовать терминал гнома с - опция запрещать-фабрики, которая делает:

    "Не регистрируются в сервере имен активации и не снова используют уже рабочий процесс терминала GNOME",

    Он пропустит переменную среды 'команд'.

    терминал гнома обычно работает в режиме сервера. Первый запуск запускает процесс, следующие запуски отправляют сообщения в основной процесс для открытия нового окна. Так, огибающий Вар установлены только на первом запуске.

  2. можно использовать отдельный файл сценария и передать его имя файла для избиения. Или сделайте его умным: обнаружьте в этом сценарии его фактическое имя файла и передайте его для избиения, таким образом, он назовет этот тот же сценарий в терминале гнома (но передаст параметр для взятия различного пути выполнения кода).

  3. можно наполнить все в переменную, но удостовериться, что она расширяется перед вызовом до терминала гнома.

0
ответ дан 6 April 2015 в 00:28

Другие вопросы по тегам:

Похожие вопросы: