我试图在Ubuntu 14.04 LTS系统上安装beanstalkd
。似乎没关系,除了以下是给我非零返回状态。一旦发生这种情况,Vagrant就会停止,并且我会在没有运行的病房之后安装其他脚本。
我已经尝试了
grep -q "START=yes"
grep --quiet "START=yes"
grep "START=yes" > /dev/null
非似乎压制了GREP的输出
echo -n "Checking /etc/default/beanstalkd for beanstalkd startup line ... "
if [ -f /etc/default/beanstalkd ]; then
echo -n "START=yes is"
grep "START=yes" /etc/default/beanstalkd > /dev/null
if [ $? = 0 ]; then
echo -n "..already present"
else
echo -n "START=yes" >> /etc/default/beanstalkd
echo -n "..Added to /etc/default/beanstalkd"
fi
fi
echo "Done!"
结果:
==> default: Checking /etc/default/beanstalkd for beanstalkd startup line ...
==> default: START=yes is
The SSH command responded with a non-zero exit status. Vagrant
assumes that this means the command failed. The output for this command
should be in the log above. Please read the output to determine what
went wrong.
答案 0 :(得分:1)
以下调用grep将禁止所有 grep输出(stderr和stdout)。没有警告,没有错误,没有。
grep -q "START=yes" /etc/default/beanstalkd >/dev/null 2>&1
如果您的查询是关于if [ $? = 0 ]; then
行未按预期运行,您可以将其替换为:
if grep -q "START=yes" /etc/default/beanstalkd >/dev/null 2>&1; then
# already present