![](/img/trans.png)
[英]Running multiple scripts from bash on parallel without printing output to console
[英]bash “&” without printing “[1]+ Done ”
我在.bashrc中调用脚本来打印我打开终端时的新消息数量,我希望呼叫在访问网络时是非阻塞的,有时需要几秒钟,这意味着我无法使用终端直到它完成。
但是,如果我把:
mailcheck &
在我的bashrc中,它工作正常。 但是然后打印一个空行,当我按下回车键进行打印时
[1]+ Done ~/bin/mailcheck
这是非常混乱有没有办法解决这个问题?
这条消息不是来自mailcheck,而是来自bash的工作控制,告诉你关于你的后台工作。 避免它的方法是告诉bash你不希望它由作业控制管理:
mailcheck &
disown $!
这似乎有效:
(mailcheck &)
你可以这样调用你的脚本:
(exec mailcheck & )
尝试将stderr管道传输到/ dev / null
mailcheck & 2>/dev/null
考虑几分钟,另一种方式可能是使用写。
将后台任务的输出传递给您自己,这样它就可以随时完成,您可以从stdout和stderr中获取任何其他输出。
mailcheck | write $(whoami) & > /dev/null
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.