89ea179b603cecfd1096a673073325f13028c421Didier Roche#!/bin/bash
89ea179b603cecfd1096a673073325f13028c421Didier Rochefd=0
89ea179b603cecfd1096a673073325f13028c421Didier Roche
89ea179b603cecfd1096a673073325f13028c421Didier RocheOPTIND=1
89ea179b603cecfd1096a673073325f13028c421Didier Rochewhile getopts "C:aTlM" opt; do
89ea179b603cecfd1096a673073325f13028c421Didier Roche case "$opt" in
89ea179b603cecfd1096a673073325f13028c421Didier Roche C)
89ea179b603cecfd1096a673073325f13028c421Didier Roche fd=$OPTARG
89ea179b603cecfd1096a673073325f13028c421Didier Roche ;;
89ea179b603cecfd1096a673073325f13028c421Didier Roche \?);;
89ea179b603cecfd1096a673073325f13028c421Didier Roche esac
89ea179b603cecfd1096a673073325f13028c421Didier Rochedone
89ea179b603cecfd1096a673073325f13028c421Didier Roche
89ea179b603cecfd1096a673073325f13028c421Didier Rocheshift "$((OPTIND-1))"
89ea179b603cecfd1096a673073325f13028c421Didier Rochedevice=$1
89ea179b603cecfd1096a673073325f13028c421Didier Roche
89ea179b603cecfd1096a673073325f13028c421Didier Rocheecho "Running fake fsck on $device"
89ea179b603cecfd1096a673073325f13028c421Didier Roche
89ea179b603cecfd1096a673073325f13028c421Didier Rochedeclare -a maxpass=(30 5 2 30 60)
89ea179b603cecfd1096a673073325f13028c421Didier Roche
89ea179b603cecfd1096a673073325f13028c421Didier Rochefor pass in {1..5}; do
89ea179b603cecfd1096a673073325f13028c421Didier Roche maxprogress=${maxpass[$((pass-1))]}
89ea179b603cecfd1096a673073325f13028c421Didier Roche for (( current=0; current<=${maxprogress}; current++)); do
89ea179b603cecfd1096a673073325f13028c421Didier Roche echo "$pass $current $maxprogress $device">&$fd
89ea179b603cecfd1096a673073325f13028c421Didier Roche sleep 0.1
89ea179b603cecfd1096a673073325f13028c421Didier Roche done
89ea179b603cecfd1096a673073325f13028c421Didier Rochedone