0

選択したファイルをテープにアーカイブし、アーカイブされたファイルを含むテキスト ファイルを作成するために使用される 1 行のコマンドを自動化するスクリプトを作成しようとしています。a と b は入力で、以下の例では 03 と 15 として定義しています。

a=03

b=15

tar -cvf /dev/tapedrive file_03 file_04 file_05 .........file_15 > /text_files/backup_file_03-15.txt

私が思いついたスクリプトは以下のとおりです。

#! /bin/bash

a=03
b=15

for (( c=$a; c<=$b; c++ ))
$tt=" ";
do
    if[ ! $c $a ]
    then
        $c="0$c"
    fi
    $tt .= " file_".$c.""
end    

echo tar -cvf /dev/tapedrive $tt > /text_files/backup_file_$a-$b.txt

done

正しい最終コマンド ラインを確実に取得するために、'do' の代わりに 'echo' を今のところ使用しています。エラーが表示されます

jag5v1.sh: line 9: syntax error near unexpected token `$tt=" "'
jag5v1.sh: line 9: `$tt=" ";'

ご意見をいただければ幸いです。ありがとう!

4

2 に答える 2

2

あなたが言う必要があるのは次のことだけのようです:

a=03
b=15
echo tar -cvf /dev/tapedrive $(seq -f 'file_%02g' $a $b) > /text_files/backup_file_$a-$b.txt
于 2013-11-12T06:57:15.710 に答える