我正在尝试使用带有ready命令的苹果脚本打开终端,但没有执行它,只允许用户通过单击回车来执行此操作(所以我不想使用告诉终端执行脚本)
我使用的方法之一是使用击键:
告诉应用程序“终端”做脚本“回音嗨!”
击键“abc” 结束告诉
但它对我不起作用。有什么想法吗?
答案 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`