2016-05-14 8 views
0

Wenn ich einen Befehl innerhalb csh geben, gibt esWie Sie das Precmd-Ausgabeprotokoll von Csh am Terminal deaktivieren?

[[email protected]_itsys ~]$ ls 
csh.bak test test001 test002 test003 
[1] + Done       (set noglob; /bin/echo `date +%F-%H:%M:%S:%N` `who am i` %::%$_ | nohup sock_client) 
[1] 5456 

Mein .cshrc- ist:

alias precmd 'set noglob; /bin/echo `date +%F-%H:%M:%S:%N` `who am i` %::%$_ | nohup sock_client &; unset noglob' 

sock_client ist ein Socket-Client von C. geschrieben Wie Befehl machen nicht ausgegeben Log-Zeilen beginnend mit [1]? nicht der Befehl ändern

+0

Ich schlage vor zu vermeiden, 'Csh' interaktiv zu verwenden. Betrachten Sie stattdessen [zsh] (http://zsh.org/) oder [fish] (http://fishshell.com/). –

Antwort

0

Sie ein Sub-Shell starten und seine zu /dev/null Standardausgabe umleiten.

alias precmd '(set noglob; /bin/echo `date +%F-%H:%M:%S:%N` `who am i` %::%$_ | nohup sock_client &; unset noglob)>/dev/null' 
0

Rohr den Ausgang dieses eingeben:

your_command | awk '{if(!($1=="[1]")){print}}' 
+0

nicht den Befehl zu ändern – David

+1

Erwähnen Sie dies in der Frage dann: D – sjsam