操作系统:OS X 10.9.1 Mavericks
是否可以从命令行执行任何全局热键?
例如,如果我想复制和粘贴,是否有命令可以让我键入精确的热键并执行它?
像这样(此命令仅作为示例,实际上并不存在):
hotkey "ctrl+c"
hotkey "ctrl+v"
我知道已经有一个复制和粘贴“pbpaste”和“pbcopy”的命令,我只是使用复制和粘贴作为示例。
这对于在命令行上执行可能非常冗长的命令非常有用。如果您想在命令行上锁定计算机,您必须执行以下操作:
/System/Library/CoreServices/Menu\ Extras/User.menu/Contents/Resources/CGSession -suspend
如果有执行热键的命令,您所要做的就是:
hotkey "ctrl+shift+eject"
答案1
AppleScript 有keystroke
和key code
命令:
osascript -e 'tell app "System Events" to keystroke "a" using command down'
osascript -e 'tell app "System Events" to key code 126 using {control down, shift down}'
但是没有弹出键的密钥代码。
答案2
您可以将 Lauri 的 AppleScript 与基于热键的系统(Quicksilver、Keyboard Maestro 等)结合起来,创建用于运行复杂命令的热键。但“热键”通常是 GUI 环境的一部分,而不是 CLI。它们不会出现在终端中,但如果您使用 Command-V 粘贴文本,它们的结果可能会出现。
您是否研究过 shell 别名?您可以创建一个名为“lock”的别名,该别名映射到“/System/Library/CoreServices/Menu\ Extras/User.menu/Contents/Resources/CGSession -suspend”。这不是 (GUI) 热键,但既然您特别询问了 CLI,也许这会有所帮助。