bash"&"没有打印"[1] +完成"

Ric*_*sse 10 linux bash scripting

我在.bashrc中调用脚本来打印我打开终端时的新消息数量,我希望呼叫在访问网络时是非阻塞的,有时需要几秒钟,这意味着我无法使用终端直到它完成.

但是,如果我把:

    mailcheck & 
Run Code Online (Sandbox Code Playgroud)

在我的bashrc中,它工作正常.但是然后打印一个空行,当我按下回车键进行打印时

    [1]+  Done                    ~/bin/mailcheck
Run Code Online (Sandbox Code Playgroud)

这是非常混乱有没有办法解决这个问题?

Gor*_*son 9

这条消息不是来自mailcheck,而是来自bash的工作控制,告诉你关于你的后台工作.避免它的方法是告诉bash你不希望它由作业控制管理:

mailcheck &
disown $!
Run Code Online (Sandbox Code Playgroud)


Pau*_*l R 5

这似乎可行:

(mailcheck &)
Run Code Online (Sandbox Code Playgroud)