#!/bin/bash # 引数に指定されたファイルのバックアップコピーを作る function help { cat <<- EOF 説明:引数に指定されたファイルのバックアップコピーを作る 使い方:backup.bash [-h|-b|-r] ファイル名 ... オプション: -h このヘルプを表示する. -b 通常のバックアップ. -r バックアップからの復元. ... 他の機能については,各自で実装してね EOF exit 1 } if [ $# -lt 1 ]; then help; fi rev=0 if [ $1 = "-h" ]; then help; elif [ $1 = "-b" ]; then rev=0; shift; elif [ $1 = "-r" ]; then rev=1; shift; fi for file in $* do if [ ! -e $file ]; then continue; fi # 存在しないファイルを無視 # 無視でなくエラー表示に変えても OK if [ $rev -eq 1 ]; then src=$file.org; dst=$file # 復元 else src=$file; dst=$file.org # 通常バックアップ fi echo -n "$src -> $dst ... " \cp $src $dst &> /dev/null if [ $? -eq 0 ] then echo "OK" else echo "ERROR!!!" fi done