Откройте окно нового терминала из Perl Script и выполните команду SSH - PullRequest
0 голосов
/ 11 июня 2019

У меня есть текущий Perl-скрипт, который я выполнял на машине с Windows в Cygwin, которая открывала новое окно терминала Cygwin и выполняла ssh'ing на удаленной машине.

Попытка дублировать команду mintty на mac.

if ($noexec) {
    system("echo mintty -s 160,40 $cursor -o 
    BackgroundColour=$color -o 
    Title='\"$title\"' -e ssh $url \&");
} else {
    system("mintty -s 160,40 $cursor -o BackgroundColour=$color -o 
    Title=\"$title\" -e ssh $url \&");
}

1 Ответ

1 голос
/ 19 июня 2019

Вот простой перевод вашего кода для использования Applescript для выполнения задачи, как описано в предложенном дубликате Выполнение команды в новом окне терминала Mac OS X

if ($noexec) {
    system(qq{echo osascript -e 'tell application "Terminal" to do script "ssh $url \& "'});
} else {
    system(qq{osascript -e 'tell application "Terminal" to do script "ssh $url \& "'});
}

Запуск команды ssh в фоновом режиме кажется очень странной вещью.Возможно, вам следует заменить \& на ; exit.

Я не уверен, что означают опции mintty (я полагаю, установить геометрию 160x40 и выбрать конкретный курсор?), Поэтому я непопытался реализовать те.https://superuser.com/questions/1188772/mac-command-to-change-the-background-color-in-a-terminal показывает, как установить цвет фона в Терминале через Applescript, например.

Если mintty или Windows ssh действительно принимает URL для подключения (что-то вроде ssh://username@hostname возможно?) вам придется выделить его и извлечь только те параметры, которые приемлемы для U * x ssh (например, username@hostname без спецификатора протокола ssh://).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...