簡體   English   中英

bash shell腳本101-在腳本中循環

[英]bash shell script 101 - loop in a script

我正在嘗試創建一個腳本,該腳本可以自動執行一行命令,該命令用於將所選文件存檔到磁帶上,並使用存檔文件創建文本文件。 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

現在是'echo'而不是'do'以確保我得到正確的最終命令行。 我收到錯誤

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

我將不勝感激。 謝謝!

您似乎只需要說:

a=03
b=15
echo tar -cvf /dev/tapedrive $(seq -f 'file_%02g' $a $b) > /text_files/backup_file_$a-$b.txt

我已更正您的代碼。 嘗試這個 -

#! /bin/bash
a=3
b=15
tt=' ';

for c in $(seq $a $b);
do
    if [ $c -le 9 ]
    then
    c="0"$c
    fi
    tt=$tt" file_"$c
done
echo tar -cvf /dev/tapedrive $tt > /text_files/backup_file_0$a-$b.txt

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM