我怎样才能抑制命令的错误消息?
- 2024-11-07 08:55:00
- admin 原创
- 29
问题描述:
如何抑制 shell 命令的错误消息?
jpg
例如,如果目录中只有文件,运行ls *.zip
会出现错误消息:
$ ls *.zip
ls: cannot access '*.zip': No such file or directory
有没有选项可以抑制此类错误消息?我想在 Bash 脚本中使用此命令,但我想隐藏所有错误。
解决方案 1:
大多数 Unix 命令(包括ls
)会将常规输出写入标准输出,将错误消息写入标准错误,因此您可以使用Bash 重定向丢弃错误消息,同时保留常规输出:
ls *.zip 2> /dev/null
解决方案 2:
$ ls *.zip 2>/dev/null
将把stderr 上的所有错误消息重定向到 /dev/null(即您将看不到它们)
请注意,返回值(由给出$?
)仍将反映发生的错误。
解决方案 3:
要隐藏错误消息并返回退出状态零,请附加|| true
。例如:
$ ls *.zip && echo hello
ls: cannot access *.zip: No such file or directory
$ ls *.zip 2>/dev/null && echo hello
$ ls *.zip 2>/dev/null || true && echo hello
hello
$ touch x.zip
$ ls *.zip 2>/dev/null || true && echo hello
x.zip
hello
解决方案 4:
我尝试 ls -R [现有文件] 并立即收到错误。ls:无法访问“现有文件”:没有此文件或目录
因此,我使用了以下内容:
ls -R 2>dev/null | grep -i [现有文件]*
ls -R 2>dev/null | grep -i text*
或者,就你的情况而言:
ls -R 2>dev/null | grep -i *.zip
解决方案 5:
我的解决方案是使用带有 buster 的 Raspberry pi3。
ls -R 2>/dev/null | grep -i [existing file]*
2>/dev/null 在 Bash 脚本中非常有用,可以避免无用的警告或错误。
不要忘记斜线符号
相关推荐
热门文章
项目管理软件有哪些?
- 2024年20款好用的项目管理软件推荐,项目管理提效的20个工具和技巧
- 2024年开源项目管理软件有哪些?推荐5款好用的项目管理工具
- 项目管理软件有哪些?推荐7款超好用的项目管理工具
- 项目管理软件哪个最好用?盘点推荐5款好用的项目管理工具
- 项目管理软件有哪些最好用?推荐6款好用的项目管理工具
- 项目管理软件有哪些,盘点推荐国内外超好用的7款项目管理工具
- 2024项目管理软件排行榜(10类常用的项目管理工具全推荐)
- 项目管理软件排行榜:2024年项目经理必备5款开源项目管理软件汇总
- 2024年常用的项目管理软件有哪些?推荐这10款国内外好用的项目管理工具
- 项目管理必备:盘点2024年13款好用的项目管理软件
热门标签
云禅道AD