I am redirecting the g++ compiler output(both stderr and stdout) to a file on linux. But it is creating an empty file.
I read in some other post that stdout is not flushed after every line. Thats ok, but what about stderr. In my case there are compilation errors running several screens. So, I am interested in stderr output. There is no stdout output created.
g++ -c -I ~/cplusplus/boost_1_37_0/boost_1_37_0/ -I ~/cplusplus/niVxWorksDeliver/TEES/ Algorithms.cpp 2> output
The above command creates an empty file named ‘output’. The following command reports invalid null command.
g++ -c -I ~/cplusplus/boost_1_37_0/boost_1_37_0/ -I ~/cplusplus/niVxWorksDeliver/TEES/ Algorithms.cpp &> output Invalid null command.
One of your comments betrays that you are not using bash. You’re using csh or tcsh. In that case, you can redirect all output (including standard error) like this:
For more csh redirection syntax, I have a useful link bookmarked. Note that csh redirection syntax is not as fluent as bash syntax. You can do more in bash than you can in csh.