gpt4 book ai didi

amazon-web-services - 为什么 aws --version 写入 stderr?

转载 作者:行者123 更新时间:2023-12-04 08:08:10 26 4
gpt4 key购买 nike

为什么标准检查 aws --version 将预期输出打印到 stderr,而不是 stdout?

$ aws --version 2>err.log
$ cat err.log
aws-cli/1.11.65 Python/2.7.13 Darwin/16.5.0 botocore/1.5.28
$ aws --version > out.log
aws-cli/1.11.65 Python/2.7.13 Darwin/16.5.0 botocore/1.5.28
$ cat out.log
$

如果命令成功完成,将结果写入标准输出是有意义的。 aws ec2 describe-imagesaws ec2 describe-instances 等其他命令将输出正确写入标准输出。

在 CentOS 和 MacOS 上检查过。

最佳答案

这是由 bug in argparse 引起的这是在 Python 3.4 中修复的。

awscli 是用 Python 编写的,它使用 argparse module解析命令行。它还使用 action="version" feature argparse 以简化版本打印。这会将版本字符串打印到 Python 3.4 之前的 stderr,并在 Python 3.4+ 中打印到 stdout。

关于amazon-web-services - 为什么 aws --version 写入 stderr?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43280287/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com