LINUX.ORG.RU

счетчик на sh


0

1

нужно сделать счетчик с проверкой, чтобы можно было задать максимальное число действий. Например, мне нужно, чтобы echo good выполнилось максимум 20 раз.

Я не очень хорошо знаю bash, что здесь нужно поправить?

echo 1 > $path/counter
countervar=`cat $path/counter`

if [ $countervar < 20 ]; then
echo good
countervar= $(( $countervar + 1 ))
echo $countervar > $path/counter
fi



Последнее исправление: s0le (всего исправлений: 1)
Ответ на: комментарий от Lavos

а в заголовке: счетчик на sh. ну да бох с ним.

x0r ★★★★★
()
Ответ на: комментарий от Lavos

мне нужно это вставить в другой скрипт, который будет пробегать по значению counter и, если оно не более 20, делать echo good, и увеличивать значение на 1. Если в какой-то момент значение станет равно 20 или больше, то делать echo good не надо.

я думал, что bash и sh это почти одно и тоже, но да ладно:)

s0le
() автор топика

что здесь нужно поправить?

1.

if [ $countervar < 20 ]; then

if [ ${countervar} -lt 20 ] ; then

2.

countervar= $(( $countervar + 1 ))

пробел после '='

3. Общие замечания:
использование '`' вместо '$( )', использование $a вместо ${a}, отсутствие двойных кавычек в конструкциях с '$path', гнусная привычка не отделять ';' пробелом, отсутствие смещения (indentation) внутри if ... fi

ABW ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.