Bash AWS CLI-尝试将命令的输出复制到文本文件
我正在尝试复制amazons3clidelete命令的输出,即使操作被拒绝,但无论我尝试做什么,我似乎都无法将输出复制到文本文件。我正在尝试这样做,这样我就可以将所有失败的操作复制到文本文件中。下面是我用来测试的命令:Bash AWS CLI-尝试将命令的输出复制到文本文件,bash,shell,amazon-s3,command-line-interface,sh,Bash,Shell,Amazon S3,Command Line Interface,Sh,我正在尝试复制amazons3clidelete命令的输出,即使操作被拒绝,但无论我尝试做什么,我似乎都无法将输出复制到文本文件。我正在尝试这样做,这样我就可以将所有失败的操作复制到文本文件中。下面是我用来测试的命令: aws s3 rm s3://xxxxxxxxxx--recursive>>test.txt $ aws s3 rm s3://xxxxxxxxxxx --recursive >> test.txt delete failed: s3://xxxxxxxxxxx/x
aws s3 rm s3://xxxxxxxxxx--recursive>>test.txt
$ aws s3 rm s3://xxxxxxxxxxx --recursive >> test.txt
delete failed: s3://xxxxxxxxxxx/xxxxx.png An error occurred (AccessDenied) when calling the DeleteObject operation: Access Denied
delete failed: s3://xxxxxxxxxxx/xxxxx.png An error occurred (AccessDenied) when calling the DeleteObject operation: Access Denied
delete failed: s3://xxxxxxxxxxx/xxxxx.png An error occurred (AccessDenied) when calling the DeleteObject operation: Access Denied
delete failed: s3://xxxxxxxxxxx/xxxxx.png An error occurred (AccessDenied) when calling the DeleteObject operation: Access Denied
delete failed: s3://xxxxxxxxxxx/xxxxx.png An error occurred (AccessDenied) when calling the DeleteObject operation: Access Denied
delete failed: s3://xxxxxxxxxxx/xxxxx.png An error occurred (AccessDenied) when calling the DeleteObject operation: Access Denied
检查test.txt时,没有新文本。如果有人能告诉我我是如何把这个命令搞乱的,以及如何修复它,我将不胜感激。我对这一点还很陌生,并且试图了解如何更好地使用它。谢谢。您也必须明确地将
stderr
发送到文件:
aws s3 rm s3://xxxxxxxxxx--recursive 2>>test.txt
$ aws s3 rm s3://xxxxxxxxxxx --recursive >> test.txt
delete failed: s3://xxxxxxxxxxx/xxxxx.png An error occurred (AccessDenied) when calling the DeleteObject operation: Access Denied
delete failed: s3://xxxxxxxxxxx/xxxxx.png An error occurred (AccessDenied) when calling the DeleteObject operation: Access Denied
delete failed: s3://xxxxxxxxxxx/xxxxx.png An error occurred (AccessDenied) when calling the DeleteObject operation: Access Denied
delete failed: s3://xxxxxxxxxxx/xxxxx.png An error occurred (AccessDenied) when calling the DeleteObject operation: Access Denied
delete failed: s3://xxxxxxxxxxx/xxxxx.png An error occurred (AccessDenied) when calling the DeleteObject operation: Access Denied
delete failed: s3://xxxxxxxxxxx/xxxxx.png An error occurred (AccessDenied) when calling the DeleteObject operation: Access Denied
要发送std输出和错误:
aws s3 rm s3://xxxxxxxxxxx --recursive &> test.txt
# To append
aws s3 rm s3://xxxxxxxxxxx --recursive >> test.txt 2>&1
工作得很好!谢谢。读者注意:
&>
是一种非标准设备,并非所有shell都能识别。事实上,它违反了shell标准,shell应该将其视为cmd&
,后跟简单的命令>test.txt
。在bash中,它相当于构造>test.txt 2>&1