Search code examples
shellamazon-s3amazon-web-servicess3cmd

How do you pipe the result of s3cmd get to a var?


I need to get an image from S3, process it on an ec2, and save it to a different folder on S3. I would like to not save the file to ec2 during the process.

Is it possible to pipe the result of "s3cmd get s3://bucket/image" to a var? It does not seem to print to standard output?


Solution

  • It would be better if you could show which output produce s3cmd in your case. But if you really want to save the output of the command to a variable you do it this way:

    $ a=$(s3cmd get s3://bucket/image)
    

    When you want to save stderr also, you make:

    $ a=$(s3cmd get s3://bucket/image 2>&1)
    

    And when only stderr:

    $ a=$(s3cmd get s3://bucket/image 2>&1 > /dev/null)