vox*_*ter 6 google-cloud-storage gsutil google-cloud-platform google-cloud-functions
正如标题一样,“gsutil cp”的结果不会重定向到标准输出,它总是重定向到标准错误。
例如:gsutil cp existed_file.txt . > >(tee -a out.log) 2> >(tee -a error.log >&2)。上述命令中out.log为空,error.log复制成功。
它的行为是错误的,因为如果上面的命令是正确的,它的输出应该在 out.log 中返回,而不是在 error.log 中。
我该如何解决?
gsutil 按照设计将进度/状态信息输出到 stderr,以将进度/状态与输出到 stdout 的数据分开。例如,如果您运行:
gsutil ls gs://my-bucket > listing 2>&1 log
Run Code Online (Sandbox Code Playgroud)
您将在“listing”文件中看到存储桶列表,并在“log”文件中看到任何错误或其他状态信息。
虽然 gsutil cp 输出不生成数据(仅状态),但我们对所有命令使用上述 stderr/stdout 划分,因此 gsutil 在这方面对所有命令的行为一致。
| 归档时间: |
|
| 查看次数: |
1643 次 |
| 最近记录: |