Rscript 中的 beepr 没有声音

no sound from beepr in Rscript

我正在尝试在我的 Rscripts 中使用 beepr 来告诉我它们何时完成。

但是哔哔声一直没有响起。

这是保存为 test.R:

的示例脚本
#!/usr/bin/env Rscript

library(beepr)

beep(1)
cat('got here')

然后从终端我 运行

Rscript test.R

我得到了打印输出,但是没有声音!

我 运行宁 OSX 与 High Sierra。

如果我 运行 使用 alarm() 而不是 beep(),我确实会听到噪音(但不是 beepr 的酷声音)

谢谢。

出现这种行为的原因是因为 beep() 播放的声音不会阻塞会话,而是由会话播放,一旦会话结束声音就会停止。如果你在 R 会话中 运行 这个然后会话继续,所以声音被播放,但是如果你 运行 这个与 Rscript 会话退出因此立即切断声音。

解决方法是延迟关闭会话以允许声音完成播放:

#!/usr/bin/env Rscript
beepr::beep()
Sys.sleep(3) # Waits for 3 seconds
cat('got here')