I know it is common to use catch when executing commands that may return non-zero… but how can I get the output in that case?
To be specific, I wish to do something like “catch {exec diff fileA fileB} ret”. The files are different and ret value is 1. What I actaully need is the output of diff, the detailed differences. But I believe the “catch {exec …} err” practice does not provide it, right?
Can someone please suggest on this task? Is there tcl-builtin commands to do file diff? (I think it is possible to redirect the output to a file and then read the file… are there any other alternatives?)
Thanks! XM
From a recent project of mine:
Bottom line, when the files are different, the status is 1 and $result holds the diff output. At the end of the diff output I do get the “child process exited abnormally”. In my case I have not remove it, but it should be easy enough to do.