如何将标准输出(如echo)发送到S3文件



我正在尝试将"echo"的输出发送到S3文件。类似于我们如何做类似echo‘Hello World’>file.txt的事情,我正在做

aws s3 cp s3://dirname/dirsubfolder/file.txt>echo"Hello World"。但是,我得到的密钥"file.txt"不存在。我知道该文件不存在,但我想将输出复制为该文件——有办法做到这一点吗?

此功能是在2014年添加的,但我在cli帮助文档中找不到它。

echo "Hello World" | aws s3 cp - s3://example-bucket/hello.txt

我不认为您可以将命令输出管道传输到aws s3 cp命令行工具中,就像您不能将这样的文本管道传输到标准的cp命令中一样。此外,您正在尝试的命令:

aws s3 cp s3://dirname/dirsubfolder/file.txt > echo 'Hello World'

实际上是将aws s3 cp命令的输出管道传输到echo命令中,这与您所说的要做的完全相反

你需要用几个步骤来编写这个脚本,比如:

echo 'Hello World' > /tmp/file.txt
aws s3 cp /tmp/file.txt s3://dirname/dirsubfolder/file.txt
rm /tmp/file.txt

最新更新