[英]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.