【问题标题】:How do I print without a trailing newline?如何在没有尾随换行符的情况下打印?
【发布时间】:2016-10-09 14:42:09
【问题描述】:

假设我想打印“hello world”而不是“hello world\n”。如何在 Apple Script 中执行此操作?

看来log 无法做到这一点。大概write 可以,但我不知道如何获取标准输出的文件描述符。

【问题讨论】:

  • 你想在哪里写?在终端窗口中?在文本文件中?在打开的文档上(哪个应用程序)?
  • 标准输出,最终还有另一个程序的标准输入(可能是管道)。
  • 这能回答你的问题吗? How to log objects to a console with AppleScript

标签: printing applescript stdout


【解决方案1】:

我认为“系统事件”中的指令“击键”应该做你想做的事。它通过键盘模拟条目。为了在其他程序中模拟该条目,你必须首先在前面制作这个其他程序(激活)

下面的脚本将Word放在前面,然后键入句子,在光标所在的文档中没有\n。

tell application "Microsoft Word" to activate
tell application "System Events"    to keystroke "this is my text without return"

您还可以将“击键”与“使用命令向下”等选项结合使用。例如,以下脚本模拟 Word 中的“命令 n”,这是菜单新建文档的快捷方式:

tell application "Microsoft Word" to activate
tell application "System Events" to keystroke "n" using command down

【讨论】:

  • 我可以告诉我当前的脚本按键吗?我需要打印到与我当前程序相关联的标准输出。即log 命令会这样做,但它会附加一个尾随换行符。 write 命令可以做到这一点,但我不知道如何让它与标准输出一起工作。
猜你喜欢
  • 2011-09-03
  • 2012-07-05
  • 2010-10-04
相关资源
最近更新 更多