如何使用终端发送击键?


12

Terminal有没有一种方法可以模拟一次按下多个键?例如,Shift + Ctrl + R?

我正在ssh从Windows客户端(PuTTY)进入OS X,并且想知道是否需要配置客户端,或者OS X是否有本机方式在接收端模拟这些命令。


它是关于使用终端发送键盘快捷键。具体来说,我需要发送ctrl + opt + shift + e。我需要在没有AppleScript的情况下进行此操作,因为它是从Windows计算机上使用的,我使用的是某种终端模拟器或cmd的SSH。
user84019 2014年

AppleScript使用osascript在SSH上运行。如果OS X机器上存在GUI,则以下答案可通过SSH完全发挥作用。
grg

Answers:


8

您可以在终端上使用AppleScript:

osascript -e 'tell application "System Events" to keystroke "r" using {control down, shift down}'

当我尝试这样做时,我只会用“>”换行?
user84019 2014年

它是针对程序的吗?例如,如果我想在TextEdit中输入“ E”,是否可以输入“ osascript -e'告诉应用程序“系统事件”以使用{shift down}''来敲击“ e”?
user84019 2014年

2
好的,我正在尝试键入ctrl + opt + shift + e,并且我有“ osascript -e'告诉应用程序“系统事件”,使用{control down,shift down,option down}''来敲击“ e””,但是告诉我“ 48:55:语法错误:标识符不能在此””之后。(-2740)”
user84019 2014年

输入的击键与手动键入的击键完全相同。它们并不特定于每个应用程序。如果要在应用程序中输入击键,请使用osascript -e“告诉应用程序“ AppName”激活”。如果尚未打开应用程序,它将启动该应用程序,并使其前台(即,其名称显示在菜单栏中)。然后,您可以使用上面他的答案中提供的代码@grg。
彼得·斯科恩

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.