2015-10-28 4 views
1

Pour une raison quelconque, chaque fois que j'essaie de rediriger les erreurs vers un fichier en utilisant 2> cela ne fonctionne pas et je reçois un message qui traite les '2' et '>' séparé. Bizarrement, lorsque j'appuie sur la flèche du haut pour revenir à la commande précédente, un espace supplémentaire est ajouté pour que 2> devienne 2 > même si ce n'est pas ce que j'ai écrit.bash "2>" ne fonctionne pas devient "2>"

Par exemple, si je tape:

rm dir1 2> err1 

Il ne transmet pas l'erreur dans le fichier. Quand je appuyez sur la flèche de la ligne se transforme en:

rm dir1 2 > err1 

J'apprécierais beaucoup des idées à ce sujet tout à fait étrange. Merci

+6

Vous n'utilisez pas bash. –

+2

post echo $ SHELL; –

+0

quand j'écris "quel bash" je reçois "/ bin/bash" quand j'écris echo $ SHELL je reçois "tcsh" – Ron

Répondre

0

Vous n'utilisez bash en fonction de votre commentaire, tcsh vous ne pouvez pas rediriger un seul flux standard vers un fichier, mais vous pouvez rediriger tous les cours d'eau à la fois en utilisant >& comme si

rm dir >& outputfile1 

See this answer for more info

+0

Merci. J'ai essayé de passer à bash par "chsh -s/bin/bash" mais j'ai obtenu "Dépendance non sécurisée dans le système lors de l'exécution de setuid sur /usr/local/etc/acct.new/acct_admin ligne 45. Des idées? – Ron

+0

Vous pouvez essayer d'appeler' ''/bin/bash''' directement pour obtenir bash pour cette session seulement Si cela ne fonctionne pas, vous devrez peut-être contacter votre administrateur système à propos de la prise en charge de bash La redirection csh devrait fonctionner car '' '' rm''' est silencieux , s'il vous plaît ** faire ** essayez '' '' rm dir1> & output.file''' avant d'essayer de fouiller avec bash – Ritave

+0

@Ron ajouter quelques informations sur l'environnement: tels que le type de système d'exploitation.En passant, il est possible de changer de le [/etc/passwd](http://linux.die.net/man/5/passwd) fichier le shell par défaut pour un utilisateur – Thomas8