我正在尝试将"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