我已将 添加git pull &
到我的 bashrc 中以使特定项目始终保持最新!
然而这意味着每次我打开终端时我都会收到类似的消息
[17]+ Running git pull
几秒钟后
[17] Done
有没有办法停止此输出?我已经将所有输出发送到 dev null,因此完整命令是
git pull >/dev/null 2>&1 &
答案1
屏幕上的信息是背景工作,不是工作本身。
尝试这个:
#!/bin/bash
exec &> /dev/null
git pull
在这个变体中,后台作业的进程是一个脚本,已经重定向所有输出。
当然,这样的命令实际上应该放在你的 bash_login 或 .profile 中,而不是 .bashrc 中。
答案2
你可以使用在(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
由在命令。
您可能需要添加您的用户名/usr/lib/cron/at.allow
(此文件的位置可能因我们的 UNIX/Linux 版本而异)。
答案3
使用nohup:
nohup git pull &
答案4
我发现使用子 shell 可以使作业的后台运行静默:
(git pull &)