有檔名如下,要按檔名順序依次copy進mp3隨身碟撥放器裡面去
0160.0160 第二届01.wav
0161.0161 第二届02.wav
0162.0162 第二届03.wav
0163.0163 第二届04.wav
0164.0164 第二届05.wav
…..
…..
0181 第三届09.wav
0182 第三届09.wav
….
0250 第三届09.wav
以上檔名中間有空隔,數字前面有個0
程式所要得到的結果是就可以從0160*.wav 一直copy到 0250*.wav 按檔名順序依次copy進mp3撥放器裡去。
一般的copy指令未必能按檔名順序依次copy進隨身碟,故要特地寫此腳本。
檢視程式碼 BASH
#!/bin/bash file=/home/user/temp dst=/tmp for (( i=160; i<=251; i=i+1 )) do cp $file/0$i*.wav $dst done #for ((index=0; index<10; index++)); do # echo "Hello, this is : $index" #done |
語法說明:上面for的迴圈是以一種類似 C 語言的那種運作方式,
上面那個迴圏還有另一種更精簡的寫法
檢視程式碼 BASH
#!/bin/bash file=/home/user/temp dst=/tmp for i in $(seq 160 251) do cp $file/0$i*.wav $dst done |
此範例的重點在 $(seq ..) 那個位置!那個 seq 是連續 (sequence) 的縮寫之意!代表後面接的兩個數值是一直連續的! 如此一來,就能夠輕鬆的將連續數字帶入程式中囉!
無限迴圈寫法
檢視程式碼 BASH
while (true) do ... done |
檢視程式碼 BASH
for ((;;)){ ... } |