linux shell批量拷貝檔案
阿新 • • 發佈:2019-01-10
有時候我們需要將一個檔案拷貝好幾分。批量新增使用者也是同樣的原理的。
使用到的知識:
test 或 [ :可用來表示比較的
獲取執行時傳遞的引數
$1、$2....$n :表示得到第1個,第2個。。。。第n個引數。(不包括檔案的名字)
if 語句的格式 if condition then statements
else statements
fi
while語句的格式
while condition do statements
done
下面直接看程式碼吧。(由於使用了算數計算。我使用的是bash shell。在ubunut12.04中執行成功。)
#/bin/bash argc=$# if [ $argc -lt 2 ] then echo "請輸入兩個引數,依次為要拷貝的檔案和次數" exit 0 fi file=$1 count=$2 left=${file%.*} #取出檔案的名字。如a.tar.gz 的結果為a.tar right=${file##*.} #得到檔案的字尾。如a.tar.gz 的結果為gz i=0 if [ -f "$file" ] #判斷檔案是否存在。 then while [ $i -le $count ] do cp $file "$left$i.$right" #"$left$i.$right"組合出新的檔名字 let "i=$i + 1" #對i的值加一 done else echo "$file is not exist\n" fi
blog:http://blog.csdn.net/rentiansheng/article/details/8851684