我已经添加了一个git pull &我的bashrc保持一个特定的项目始终保持最新!
然而,这意味着每次我打开一个terminal时,我都会收到一条消息
[17]+ Running git pull
几秒钟后
[17] Done
有没有办法阻止这个输出? 我已经将所有输出发送到dev,所以完整的命令是git pull >/dev/null 2>&1 &
屏幕上的信息是背景工作的结果, 而不是工作本身。
尝试这个:
#!/bin/bash exec &> /dev/null git pull
在这个变体中,背景作业的过程是一个已经redirect所有输出的脚本。
当然,这样的命令应该放在你的bash_login或者.profile中,而不是放在.bashrc中。
你可以使用(1)或者甚至是批次(1)来开始你的命令:
echo git pull | at now 2>/dev/null
这样,如果您立即注销,它也不会收到SIGHUP。 2>/dev/null可以防止job 1334584295.a at Mon Apr 16 15:51:35 2012的消息job 1334584295.a at Mon Apr 16 15:51:35 2012被at命令写入。
您可能需要将您的用户名添加到/usr/lib/cron/at.allow (此文件的位置可能与我们的UNIX / Linux的不同)。
我发现使用subshell会使作业的背景变得沉默:
(git pull &)