如何禁用 csh 的 precmd 输出日志到终端?

How to disable csh's precmd output log to the terminal?

当我在 csh 中键入命令时,它输出

[d88@180_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

我的 .cshrc 是:

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

sock_client是C写的socket客户端,如何让命令不输出[1]开头的日志行?不要将命令更改为 type

管道输出:

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

您可以启动子 shell 并将其标准输出重定向到 /dev/null

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