linux - linux输出,不需要终端输出
问题描述
if(grep "9" ls ); then echo "hello"; else echo "hi"; fi
当我执行上面的命令输出是下面的
grep: ls: No such file or directory
你好
我怎样才能得到hi(唯一条件)作为输出
解决方案
grep -q "9" ls 2>/dev/null || echo "hi"
-q
不会打印 grep 输出本身
2>/dev/null
不是必需的,但会抑制可能的错误消息,使输出“更干净”(例如 no grep: ls: No such file or directory
)
或者根据@Aaron的建议甚至更好的解决方案:
grep -qs "9" ls || echo "hi"
推荐阅读
- android - 任何人都可以帮助我通过使用形状在 android 中创建这个图像吗
- node.js - MongoDb 通过传递用户 id 删除文档
- sql - 借助 oracle 中的 DBLINK,获取从数据库调用的表的依赖关系
- javascript - 垃圾收集何时真正在 Javascript 中执行?
- delphi - 在 DBGrid 中显示的最后一条记录(底部)之后插入
- mysql - 我如何在连接表codeigniter中设置变量
- python - PySpark:无法导入名称“OneHotEncoderEstimator”
- mysql - MySQL8 的休眠方言
- python - 如何在没有索引或切片的情况下访问 python 元组元素(其中存储了 YAML)
- android - 无法在底部导航视图中显示徽章