コンテンツにスキップ

「ファイルをローテーションさせるシェルスクリプト」の版間の差分

提供: Wikiducca
大松「ブロックされないから荒らしやすいンゴねえ」
1版
 
(4人の利用者による、間の4版が非表示)
1行目: 1行目:
<nowiki>Wikiduccaは終了しました。今後はゴールドペディアをご利用ください。<nowiki>Wikiduccaは終了しました。今後はゴールドペディアをご利用ください。<nowiki>Wikiduccaは終了しました。今後はゴールドペディアをご利用ください。ディレクトリには使えないので注意。
ディレクトリには使えないので注意。


<source lang="bash" line>
<source lang="bash" line>

2019年1月17日 (木) 04:14時点における最新版

ディレクトリには使えないので注意。

#!/bin/sh

# 最新の TARGET_FILE が TARGET_FILE.1 となり、
# これまで TARGET_FILE.1 だったものは TARGET_FILE.2 にリネームされる。
# i=n で指定した回数を超えたものは削除される。

i=5
TARGET_FILE="aaaa.txt"

# TARGET_FILE が見つからなければ終了。
if [ -e $TARGET_FILE ]; then
    :
else
    echo "** ERROR ** File does not exist: $TARGET_FILE"
    exit 1
fi

#
while [ $i -gt 1 ]
do
  if [ -e $TARGET_FILE.`expr $i - 1` ]; then
    mv $TARGET_FILE.`expr $i - 1` $TARGET_FILE.$i 2>&1 1>/dev/null
  fi
  i=`expr $i - 1`
done

#
if [ -e $TARGET_FILE ]; then
  mv $TARGET_FILE $TARGET_FILE.1 2>&1 1>/dev/null
fi

# EOF