【发布时间】:2019-10-21 04:49:04
【问题描述】:
我发现 some code 允许我通过系统调用从 Ruby 运行 Applescript:
system 'osascript', *script.split(/\n/).map { |line| ['-e', line] }.flatten
效果很好,但不是我需要的。
我想修改系统调用以忽略标准输出。
我从添加1>/dev/null参数开始:
system 'osascript', *script.split(/\n/).map { |line| ['-e', line] }.flatten, "1>/dev/null"
这不起作用,因为第三个参数似乎被忽略了。
然后我删除了参数化调用并使用了字符串插值:
system "osascript #{*script.split(/\n/).map { |line| ['-e', line] }.flatten} 1>/dev/null"
产生了语法错误。
然后我尝试了各种移动东西的尝试,但大多会产生其他语法错误。
在这种情况下忽略系统输出的正确语法是什么?
【问题讨论】:
标签: ruby io-redirection