使用 applescript 隐藏终端窗口

vol*_*lna 0 applescript

当前代码片段的目的是在新的终端窗口中运行脚本并立即隐藏它。下面的代码最初似乎工作正常,但结果是,如果使用其可见属性操作窗口,它就会消失并且似乎没有执行。右键单击显示Terminal中的应用程序Dock,就像根本没有终端窗口一样。

tell application "Terminal"

    -- New Terminal Window
    set newTab to do script "caffeinate -u -t 900"
    set caffeinateWindow to id of front window

    tell window id caffeinateWindow
        set index to 1
        set visible to false
    end tell

end tell
Run Code Online (Sandbox Code Playgroud)

Pat*_*ita 5

而不是告诉终端使用 applesripts 内置的可能性:

do shell script "caffeinate -u -t 900"
Run Code Online (Sandbox Code Playgroud)

如果你想传递参数,那么这样做:

set param to "900"
do shell script "caffeinate -u -t " & param
Run Code Online (Sandbox Code Playgroud)

请注意,如果参数可能包含空格,您需要像这样转义/引用它:

set param to "900"
do shell script "caffeinate -u -t " & quoted form of param
Run Code Online (Sandbox Code Playgroud)

如果您仍然需要隐藏窗口,请像这样:

tell application "System events"
    try 
        set visible of application process  "Terminal" to false
    end try
end
Run Code Online (Sandbox Code Playgroud)