Я нашел некоторый код , который позволяет мне запускать Applescript из Ruby через системные вызовы:
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"
, которая вызвала синтаксическую ошибку.
Затем я попробовал различные попытки переместить вещи, которые в основномпроизвел другие синтаксические ошибки.
Какой правильный синтаксис для игнорирования вывода системы в этом случае?