exec не работает правильно с stderr - PullRequest
0 голосов
/ 14 июля 2010

Я пытаюсь выполнить какую-то программу:

exec -ignorestderr "bin/tecs-software-suite-2.5/JackCompiler.bat" "$current_file"

программа записывает в stderr, поэтому tcl показывает диалог об ошибке, похожий на обычные ошибкиЯ не хочу этого, я просто хочу, чтобы вывод ошибок (все вывод) был в метке TK.Я добавил ignorestderr, но он не работает.(Я работаю с ActiveTcl 8.5.8, Windows 7)

Спасибо

1 Ответ

1 голос
/ 15 июля 2010

Магия, которую вы ищете, это 2>@1, используемая так:

# Split this up for readability...
set compiler "bin/tecs-software-suite-2.5/JackCompiler.bat"
set s [exec $compiler $current_file 2>@1]

Обратите внимание, что если программа компилятора завершит работу с ненулевым кодом завершения, вы все равно получите ошибку.

...