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("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
或 Windowsssh
真的接受要连接的 URL(ssh://username@hostname
可能是?),您将不得不将其分开并仅提取 U*x 可接受的参数ssh
(例如username@hostname
没有ssh://
协议说明符)。
推荐阅读
- python - Tkinter Callback and Trace Back 问题和 Jupyter Notebook 问题
- java - Java级联继承:匿名类VS委托或内部类
- node.js - 未能启动
- wordpress - 找不到docker wordpress wp-config
- kubernetes - 使用 istio 公开暴露 grafana
- angular - 角度路由使子路径全页接管
- java - Maven 阴影插件 - Jar 和依赖项
- excel - 我无法将 ##\:## 的自定义单元格格式转换为时间
- javascript - 如何在 React Native 中执行繁重的任务?
- ruby - Minitest/Mocha:如何使用正则表达式验证参数