line=$(grep "# rvm line" ~/.bashrc)
if [ ! -n "$line" ]; then
echo "found"
else
echo "not found"
fi
我在第一行的引号有什么问题?
编辑:问题出在set -o errexit
,我在脚本中使用了它。我认为-n
被视为一个错误,退出以下进程。我如何克服这个问题,保持错误检查?( -n的替代方案也可以使用)。
发布于 2011-09-29 22:00:08
如果您不打算将$line
用于测试它是否为空之外的任何其他用途,那么您不妨这样做:
if grep -q '# rvm line' ~/.bashrc; then
echo "found"
else
echo "not found"
fi
发布于 2011-09-29 21:37:06
Nothing
引文没有明显的问题吗?你没有得到预期的结果吗?
好的,您的if条件是错误的-如果它的目的是检查grep语句是否返回了某些内容。我会留下一个线索,让你自己去弄清楚。祝你好运
https://stackoverflow.com/questions/7598106
复制相似问题