2012-03-06 50 views
18

在bash腳本中,如何使用變量創建專門命名的壓縮文件?例如,我想這樣做:將bash變量變爲zip命令的文件名

VERSION_STRING='1.7.3' 
zip -r foo.$VERSION_STRING foo 

哪裏最好有一個名爲結束foo.1.7.3.zip

好像我有2個問題:

  1. 拉鍊命令正在治療$VERSION_STRING就像它是空的或空的
  2. .foo也似乎是把它弄糟

回答

8

以下罰款作品在這裏使用bash 4.1.5:

#!/bin/bash 

VERSION_STRING='1.7.3' 
echo zip -r foo foo.$VERSION_STRING.zip 

我已經添加了echo看到實際的命令,而不是運行它。腳本打印出

zip -r foo foo.1.7.3.zip 
+0

謝謝,迴應命令告訴我,我的變量有一個空間,這是搞砸了拉鍊創作。 – 2012-03-06 19:10:21

20

可以使用${VERSION_STRING}清楚地包裝你的變量名

8

我覺得你有你的拉鍊輸入倒退。對我來說,下面的命令:

zip -r foo.${VERSION_STRING}.zip foo 

創建一個有效的zip文件。你的命令沒有(至少使用我的zip版本)。