首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >bash if [ -n "$output of a variable“]

bash if [ -n "$output of a variable“]
EN

Stack Overflow用户
提问于 2011-09-29 21:33:50
回答 2查看 2.3K关注 0票数 0
代码语言:javascript
运行
复制
line=$(grep "# rvm line" ~/.bashrc)

if [ ! -n "$line" ]; then
  echo "found"
else
  echo "not found"
fi

我在第一行的引号有什么问题?

编辑:问题出在set -o errexit,我在脚本中使用了它。我认为-n被视为一个错误,退出以下进程。我如何克服这个问题,保持错误检查?( -n的替代方案也可以使用)。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-09-29 22:00:08

如果您不打算将$line用于测试它是否为空之外的任何其他用途,那么您不妨这样做:

代码语言:javascript
运行
复制
if grep -q '# rvm line' ~/.bashrc; then
  echo "found"
else
  echo "not found"
fi
票数 3
EN

Stack Overflow用户

发布于 2011-09-29 21:37:06

Nothing

引文没有明显的问题吗?你没有得到预期的结果吗?

好的,您的if条件是错误的-如果它的目的是检查grep语句是否返回了某些内容。我会留下一个线索,让你自己去弄清楚。祝你好运

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7598106

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档