我正在查看预提交 git hook 脚本。这是我正在努力解决的部分:
#!/bin/sh
...
testcmd="go test -race ${godirs} "
failed=
${testcmd} &> /dev/null # problematic line
if [ $? -ne 0 ] ; then
failed=1
${testcmd}
fi
godirs
是脚本中先前构建的文件夹列表。当我运行它时,我看到运行的输出testcmd
略有延迟(它在我的下一个提示中打印)。似乎&>
没有重定向 2 个输出。它在后台运行 go 测试,甚至不重定向输出。
我不擅长 shell 脚本。我知道我可以将其重写为> /dev/null 2> /dev/null
但这是一个学习机会。我该如何解决这个问题以便我仍然可以使用&>
?