如何抑制 shell 命令的错误消息?
例如,如果目录中只有 jpg
文件,则运行 ls *.zip
会给出错误消息:
$ ls *.zip
ls: cannot access '*.zip': No such file or directory
是否有抑制此类错误消息的选项?我想在 Bash 脚本中使用这个命令,但我想隐藏所有错误。
原文由 Peter 发布,翻译遵循 CC BY-SA 4.0 许可协议
如何抑制 shell 命令的错误消息?
例如,如果目录中只有 jpg
文件,则运行 ls *.zip
会给出错误消息:
$ ls *.zip
ls: cannot access '*.zip': No such file or directory
是否有抑制此类错误消息的选项?我想在 Bash 脚本中使用这个命令,但我想隐藏所有错误。
原文由 Peter 发布,翻译遵循 CC BY-SA 4.0 许可协议
$ ls *.zip 2>/dev/null
将 stderr 上的任何错误消息 重定向 到 /dev/null (即你不会看到它们)
请注意返回值(由 $?
给出)仍将反映发生了错误。
原文由 Brian Agnew 发布,翻译遵循 CC BY-SA 3.0 许可协议
7 回答5.3k 阅读
4 回答4k 阅读
2 回答5.9k 阅读✓ 已解决
2 回答2.5k 阅读✓ 已解决
1 回答2.3k 阅读✓ 已解决
2 回答799 阅读✓ 已解决
2 回答3.2k 阅读
大多数 Unix 命令,包括
ls
,会将常规输出写入 标准输出 并将错误消息写入 标准错误,因此您可以使用 Bash 重定向 来丢弃错误消息,同时保留常规输出: