从Perl脚本打开新的终端窗口并执行SSH命令



我有一个当前的perl脚本,我在cygwin的Windows机器上执行,它正在打开一个新的cygwin终端窗口并ssh'ing到远程机器中。

尝试在 mac 上复制 mintty 命令。

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 &");
}

下面是使用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可接受的参数(例如没有ssh://协议说明符的username@hostname(。

最新更新