对许多shell脚本使用一个终端实例?

时间:2015-05-11 01:32:15

标签: shell ssh applescript

所以,我需要制作一个AppleScript来ssh到我的薄荷无头服务器。我不需要传输文件,只需运行命令。问题是,当我使用一个shell脚本执行ssh时,它与其他实例位于不同的实例中。此外,如果我不必使用击键并将终端保持在前面,也可以获得奖励。

编辑:如果你们告诉我为什么你们贬低这篇文章会有所帮助。

1 个答案:

答案 0 :(得分:0)

不确定这是否是您想要的,但使用Terminal.app可以做到:

set shellScript to "echo" & space & quoted form of "Test Message"

 tell application "Terminal"
    activate
    try
        if (exists tab 1 of window 1) then
            do script with command shellScript in front window
        else
            do script with command shellScript
        end if
    on error
        beep
    end try
end tell

当没有窗口打开时,上面的代码在前窗或新窗口中执行shellScript。希望它有所帮助。

<强> ADDITION
我认为AppleScripthide没有application脚本命令。 使用System Events,我们可以执行keystroke,所以让我们cmd-h隐藏应用程序:

tell application "System Events"
    tell application process "Terminal" to set frontmost to true
    -- delay 0.25 -- in case it does not work
    keystroke "h" using command down
end tell

我不知道Terminal.app将如何隐藏和执行脚本,但你会发现。

或将终端窗口放在另一个Finder Space中。