Нет такого устройства или адреса: ‘/ dev / stdout’

Я выполняю скрипт python изнутри узла с помощью execSync следующим образом:

execSync('python myScript.py -o "/dev/stdout"'); 

Мой скрипт отправит результат в файл, указанный в -o в этом случае /dev/stdout .

Я получаю сообщение об ошибке « Нет такого устройства или адреса:« / dev / stdout ».

Если я выполняю команду вручную с терминала, она работает нормально, но не при запуске через узел.

Я запускаю Ubuntu 12.04.

Когда вы запускаете команду в терминале, /dev/stdout перенаправляет на терминал stdout . Когда вы execSync процесс python с помощью execSync , нет места для перенаправления stdout .

Если вы еще немного читаете страницу execsync, в ней описывается, как использовать дочерний процесс ‘stdout