処理の流れ
- dmy.txtを作成
- git addでステージングに置く
- git commitでコミットメッセージ追加
- git log --onelineでコミットのハッシュ値を取得
- ハッシュ値のLSBが0,1かでzun,doko判定
- 以下略
code v0.1
zundoko-exec
#!/usr/bin/env bash
git init >& /dev/null
zuncount=0
totalcount=0
for idx in $(seq 1 100);
do
echo $idx >> dmy.txt
git add dmy.txt >& /dev/null
git commit -m "zundoko" >& /dev/null
totalcount=`expr $totalcount + 1`
hash=`git log --oneline | head -n 1 | awk '{print $1}'`
zeroOrOne=`echo $((${hash:6:1} % 2))` # check last character
if [ $zeroOrOne == 0 ];then
echo "doko"
if [ $zuncount == 4 ]; then
echo "KIYOSHI!"
echo "total:$totalcount"
break;
fi
zuncount=0
else
echo "zun"
zuncount=`expr $zuncount + 1`
fi
done
以下を使用している
- for文
- seq文
- gitコマンド
- /dev/null出力
- awk
- expr文
- 部分文字列取得 ${hash:6:1}
- if文
実行方法
動作確認
CentOS 6.5 (32bit)
gitログを書き換えてしまうため、gitログがないフォルダにて実行してください。
chmod +xで実行権限を付加して実行。
$ chmod+x zundoko-exec
$ ./zundoko-exec
またはchmodをしない場合は
$ bash zundoko-exec
結果
doko
doko
doko
zun
zun
zun
doko
zun
doko
zun
doko
doko
zun
doko
zun
doko
zun
zun
zun
zun
doko
KIYOSHI!
total:85