Значение переменной увеличивается на 1 (Программирование оболочки )
Я новичок в программировании оболочки, и это звучит как очень глупый вопрос, но я не могу увеличить значение переменной на 1. Я посмотрел на учебник но он показывает только, как добавить вместе 2 переменные
Я пробовал следующие способы, но он не работает
i=0
$i=$i+1 # doesnt work , command not found
echo "$i"
$i='expr $i+1' # doesnt work , command not found
echo "$i"
$i++ # doesnt work , command not found
echo "$i"
как увеличить значение переменной на 1??
5 ответов
есть несколько способов увеличить переменную в bash, но то, что вы пробовали, неверно.
вы можете использовать, например, расширение арифметики:
i=$((i+1))
или только:
((i=i+1))
или:
((i+=1))
или еще:
((i++))
или вы можете использовать let:
let "i=i+1"
или только:
let "i+=1"
или еще:
let "i++"
Смотрите также: http://tldp.org/LDP/abs/html/dblparens.html.
способ использования expr:
i=0
i=`expr $i + 1`
способ использования i++
((i++)); echo $i;
протестировано в gnu bash
вот методы, которые я знаю:
ichramm@NOTPARALLEL ~$ i=10; echo $i;
10
ichramm@NOTPARALLEL ~$ ((i+=1)); echo $i;
11
ichramm@NOTPARALLEL ~$ ((i=i+1)); echo $i;
12
ichramm@NOTPARALLEL ~$ i=`expr $i + 1`; echo $i;
13
обратите внимание на пробелы в последнем примере, также обратите внимание, что это единственный, который использует $i
.