Apple脚本打开终端,带有就绪命令

时间:2015-02-05 16:29:24

标签: macos shell terminal applescript

我正在尝试使用带有ready命令的苹果脚本打开终端,但没有执行它,只允许用户通过单击回车来执行此操作(所以我不想使用告诉终端执行脚本)

我使用的方法之一是使用击键:

  

告诉应用程序“终端”做脚本“回音嗨!”
  击键“abc”   结束告诉

但它对我不起作用。有什么想法吗?

2 个答案:

答案 0 :(得分:1)

我想你想要启动终端并在终端准备好所有已准备就绪的命令,这样他/她只需按“Enter”键即可。如果是这样,你可以这样做:

tell application "Terminal"
    activate
    delay 1
    tell application "System Events"
        keystroke "echo hi"
    end tell
end tell

然后用户只需按Enter即可执行命令echo hi

答案 1 :(得分:0)

很难理解你的意思。

您不能让终端等待用户点击其窗口。

(但是你可以在终端窗口打开后轮询键击。)

您必须在代码前使用对话框,以便让用户有意识地进入终端。

display dialog "Press ok to enter the terminal" buttons {"Cancel","Enter"} cancel button 1 default button 2

除此之外,您需要使用系统事件将击键发送到终端的方式

tell application "System Events"
   tell application  process "Terminal"
       keystroke "abcd"
   end tell

告诉

您可以使用以下命令在do script命令中为您的终端轮询按键:

read -n 1 -s MYCHAR </dev/tty

这将强制用户从do脚本中按Enter键

 a=`read`