linux - bash "&"不打印 "[1]+ Done "

标签 linux bash scripting

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

但是如果我把:

    mailcheck & 

在我的 bashrc 中,它工作正常。但随后打印出一个空行,当我按下 enter 并打印出

    [1]+  Done                    ~/bin/mailcheck

这太乱了,有办法解决吗?

最佳答案

该消息不是来自 mailcheck,而是来自 bash 的作业控制,告诉您有关后台作业的信息。避免它的方法是告诉 bash 你不希望它由作业控制管理:

mailcheck &
disown $!

关于linux - bash "&"不打印 "[1]+ Done ",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10439590/

相关文章:

linux - 使用 Bash 脚本从 xdotool 搜索结果中检索单个元素

regex - 用于从变量中提取 UUID/PARTUUID 的 BASH 脚本

ruby - 我怎样才能可靠地发现 Ruby 可执行文件的完整路径?

linux - 如何在 CentOS 关机前运行 Shell 脚本

linux - Makefile: Target dependency - How to always-make it?

c - 如何不接收错误子网的 UDP 数据报但仍然广播?

bash - 使用时间戳 bash 删除文件中超过一小时的行

Bash 整数比较

linux - 在两个不同的目录中运行两个守护进程作业

linux - 在 Linux 中快速简单的 GUI 编程