個人的にですが、文法が大嫌いな上にWindows/UNIXで別々のスクリプトを書かなくては
ならないのが非常に馬鹿馬鹿しい。個人ユースならPerlやPythonでいいじゃないか。
という考えだったので今まで徹底的に避けて来ましたが、
どうしても使わなくてはならない状況もあり得る…
ということで、最低限のリファレンスだけ作っておこうと思います。
bashではなく、Bourne Shellを使うことにします。適宜追加です。
すでにファイルが存在していたら数字をずらしてバックアップする
#!/bin/sh if [ $# -ne 2 ] then echo "Usage:$0 <srcfile> <dstbackupfile>" 1>&2 exit 1 fi function file_backup() { srcfile=$1 dstfile=$2 i=0 while [ $i -le 100000 ] do if [ ! -e ${dstfile}.${i} ] then cp -p ${srcfile} ${dstfile}.${i} if [ $? -eq 0 ] then echo "Copying file succeeded(${dstfile}.${i})." break else echo "Copying file failed(${dstfile}.${i})." fi fi i=`expr $i + 1` done } file_backup $1 $2 echo "done." exit 0