Что делает «tail -f»? [дубликат]

Некоторое время назад я написал его в ksh; это не так надежно, как могло бы быть, потому что я написал его для себя, но это должно быть хорошим началом. Не уверен, что он будет работать с чистой оболочкой Bourne, поскольку ваш Q в настоящее время помечен из-за синтаксиса $ (()).

#!/usr/bin/ksh

start=1
end=1
step=1

case $# in
        0)
                echo Usage: $0 '[Start [Step]] End'
                exit 0
                ;;
        1)
                end=$1
                ;;
        2)
                start=$1
                end=$2
                ;;
        3)
                start=$1
                step=$2
                end=$3
                ;;
esac

# quick & dirty validations
if [ $step -eq 0 ]
then
  exit 1
fi

if [ $step -gt 0 ]
then
  if [ $start -gt $end ]
  then
    exit 2
  fi
else
  if [ $start -lt $end ]
  then
    exit 3
  fi
fi

i=$start
if [ $step -gt 0 ]
then
  while [ $i -le $end ]
  do
    printf "%d\n" $i
    i=$(( i + step ))
  done
else
  while [ $i -ge $end ]
  do
    printf "%d\n" $i
    i=$(( i + step ))
  done
fi
2
03.07.2014, 00:17
0 ответов

Теги

Похожие вопросы