Reputation: 1319
In a bash script, how do I use a variable to create a specifically named zipped file? For example, I would like to do something like:
VERSION_STRING='1.7.3'
zip -r foo.$VERSION_STRING foo
Where I ideally end up with a file called foo.1.7.3.zip
It seems like I'm having 2 problems:
$VERSION_STRING
like it's null or empty.
after foo
also seems to be mucking it upUpvotes: 28
Views: 53044
Reputation: 674
I think you have your zip inputs backwards. For me the following command:
zip -r foo.${VERSION_STRING}.zip foo
creates a valid zip file. Your command does not (at least with my version of zip).
Upvotes: 11
Reputation: 5570
you can use ${VERSION_STRING}
to clearly wrap your variable name
Upvotes: 29
Reputation: 500893
The following works fine here using bash 4.1.5:
#!/bin/bash
VERSION_STRING='1.7.3'
echo zip -r foo foo.$VERSION_STRING.zip
I've added the echo
to see the actual command rather than run it. The script prints out
zip -r foo foo.1.7.3.zip
Upvotes: 17