2012-03-06 14 views
18

bashスクリプトでは、変数を使用して特定の名前のzipファイルを作成するにはどうすればよいですか?例えば、私のような何かをしたいと思います:zipコマンドのファイル名にbash変数を取得する

  1. 郵便番号:

    私は理想的なファイルで終わる
    VERSION_STRING='1.7.3' 
    zip -r foo.$VERSION_STRING foo 
    

    を私は2つの問題を抱えているように思えfoo.1.7.3.zip

    と呼ばれますコマンドが処理中です$VERSION_STRING nullまたは空のように

  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

このコマンドをエコーすると、変数にスペースがあり、ジップの作成を妨害していることがわかりました。 –

20

を出力しますが、私はあなたが後方あなたの郵便番号入力を持っていると思う明確に変数名

8

をラップする${VERSION_STRING}を使用することができます。私のために、次のコマンド:

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

は、有効なzipファイルを作成します。あなたのコマンドは(私のバージョンのzipでは)少なくともありません。

関連する問題