/ / linux g ++ compilateur redirect stderr et stdout créent un fichier vide - linux, shell, g ++

linux g ++ compiler redirect stderr et stdout créent un fichier vide - linux, shell, g ++

Je suis en train de rediriger la sortie du compilateur g ++ (stderr et stdout) vers un fichier sous linux. Mais cela crée un fichier vide.

J'ai lu dans un autre post que stdout n'est pasrincé après chaque ligne. Ca va, mais qu'en est-il de stderr. Dans mon cas, il y a des erreurs de compilation avec plusieurs écrans. Donc, je suis intéressé par la sortie stderr. Aucune sortie stdout n'a été créée.

 g++ -c -I ~/cplusplus/boost_1_37_0/boost_1_37_0/ -I
~/cplusplus/niVxWorksDeliver/TEES/ Algorithms.cpp 2> output

La commande ci-dessus crée un fichier vide nommé "sortie". La commande suivante rapporte la commande null null.

 g++ -c -I ~/cplusplus/boost_1_37_0/boost_1_37_0/ -I
~/cplusplus/niVxWorksDeliver/TEES/ Algorithms.cpp &> output
Invalid null command.

Réponses:

11 pour la réponse № 1

Un de vos commentaires trahit que vous n'utilisez pas bash. Vous utilisez csh ou tcsh. Dans ce cas, vous pouvez rediriger toutes les sorties (y compris les erreurs standard) comme ceci:

g ++ -c Algorithms.cpp> & sortie

Pour plus de syntaxe de redirection csh, j'ai un lien utile mis en signet. Notez que la syntaxe de redirection csh n'est pas aussi fluide que la syntaxe bash. Vous pouvez faire plus dans bash que dans csh.


3 pour la réponse № 2

Vous pourriez essayer ceci:

Version sh / bash / zsh:

g++ -c -I ~/cplusplus/boost_1_37_0/boost_1_37_0/ 
-I ~/cplusplus/niVxWorksDeliver/TEES/ 
Algorithms.cpp > output 2>&1

version csh ou tcsh:

g++ -c -I ~/cplusplus/boost_1_37_0/boost_1_37_0/ 
-I ~/cplusplus/niVxWorksDeliver/TEES/ 
Algorithms.cpp >& output

0 pour la réponse № 3

"Aucune nouvelle n'est une bonne nouvelle" - votre commande produit-elle même une sortie? Quand il n’ya pas d’erreur, g ++ n’imprimera rien!