2017-06-01 81 views
0

我正在尋找答案几個小時,現在我完全卡住了。 我想編寫一個腳本,它將自動從seedbox下載文件,將文件名更改爲「S0xE0x」格式,然後通過smb和admin共享將其移至正確的文件夾。我使用Debian和Windows 10的虛擬機作爲主要操作系統。變量正在調用之前定義的變量循環中的數字

比方說,我正在看10個系列。

下面是每個它的變量(這部分將在以後的編輯)

N1="Alice to Zouroku" 
D1="Alice to Zouroku" 
S1="01" 

  • N1是該系列
  • D1的名字是一個文件夾名
  • S1是本賽季的一個號碼

我會跳過部分從文件名中提取插曲數字,因爲這工作正常。

所有變量我有另一個變量,其指示系列的量(循環的限制)

amount=12 

serienumber=1 

被1在循環增加

所以後,這是我的循環

for (( i = 0 ; i <= $amount; i++ ))do 
    - name change part with $epname - 
    - here is a part which is nor working - 
    $serienumber++ 
done 

所以,我想要做什麼。我想使用由$ serienumber調用的定義變量。 例如:

mv $epname /mnt/anime/[variable D1 -> D$serienumber]/[variable S1 ->S$serienumber]E$epnum.mkv 

我怎樣才能做到這一點?我如何用當前循環編號($ serienumber)回顯一個變量。

感謝所有幫助

回答

0

你可能會更好這裏使用數組:

N[0]="Alice to Zouroku" 
D[0]="Alice to Zouroku" 
S[1]="01" 

增量serienumber(假如那是「seriesnumber」 - 在中間有一個「s」 ?)

for (( i = 0 ; i <= $amount; i++ ))do 
    ((serienumber++)) 
    echo $serienumber 
done 

現在,你可以做你的舉動去引用數組是這樣的:

mv $epname /mnt/anime/D${D[serienumber]}]/S${S[serienumber]}E${epnum}.mkv 
+0

謝謝!我不知道爲什麼我沒有首先使用數組。 – Metabaka