Macos 从Perl脚本打开新的终端窗口并执行SSH命令
我有一个当前的perl脚本,我在cygwin的windows机器上执行,它打开了一个新的cygwin终端窗口,并通过ssh连接到远程机器 试图在mac上复制mintty命令Macos 从Perl脚本打开新的终端窗口并执行SSH命令,macos,perl,ssh,Macos,Perl,Ssh,我有一个当前的perl脚本,我在cygwin的windows机器上执行,它打开了一个新的cygwin终端窗口,并通过ssh连接到远程机器 试图在mac上复制mintty命令 if ($noexec) { system("echo mintty -s 160,40 $cursor -o BackgroundColour=$color -o Title='\"$title\"' -e ssh $url \&"); } else { system("mint
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执行任务的代码的简单翻译,如建议的副本中所述 在后台运行
ssh
命令似乎是一件非常奇怪的事情。也许你应该用替换\&
;退出
我不确定mintty
选项是什么意思(我想将几何体设置为160x40并选择一个特定的光标?),因此我没有尝试实现这些选项。例如,演示如何通过Applescript在终端中设置背景色
如果
mintty
或Windowsssh
确实接受要连接的URL(类似ssh://username@主机名(hostname
也许?)您必须将其分离,并仅提取U*xssh
可以接受的参数(如username@hostname
不带ssh://
协议说明符).如何“复制”?您是否有一个名为mintty
的命令,或者您正试图询问用什么替换它?很抱歉,尝试用适用的mac终端命令将当前在windows上工作的mintty命令替换为cygwin。mac终端是/Applications/terminal.app
,但您可能不需要打开单独的窗口;如果需要,只需在现有终端窗口中运行脚本。脚本的可能副本用于启动多个会话,因此每次执行都需要一个新窗口。探索从Applescript设置终端窗口的维度。可能存在Perl本机解决方案,允许您绕过system()
调用并提供更好的Applescript集成。看起来这是一个简单的方法,但我不知道它是否是最新的和受支持的。
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 \& "'});
}