Я хочу увеличить var upPCs на каждый раз каждый раз, когда я иду через инструкцию if.Увеличение значения переменной bash
upPCs= 0;
if [ $? -eq 0 ]; then
$upPCs ++;
fi
Это не работает.
Я хочу увеличить var upPCs на каждый раз каждый раз, когда я иду через инструкцию if.Увеличение значения переменной bash
upPCs= 0;
if [ $? -eq 0 ]; then
$upPCs ++;
fi
Это не работает.
Bash (и другие оболочки) не допускают пробелы вокруг знака равенства. Полуколона; используется для разделения команд на линии, поэтому положить один в конец строки - это отходы (если только вам не нравится набирать полуколоны ...).
upPCs=0
Использование (())
для арифметики:
if (($? == 0)); then
((upPCs++))
fi
Наконец, вы должны отступ кода внутри if
(и while
, for
и т.д.) заявлений, потому что если вы не котенок умирает. Серьезно, скрипты могут стать нечитаемыми довольно быстро, если вы не отступаете - это того стоит.
Кстати, часто вам не нужно явно проверять $?
. Вы не показываете команду, в которой вы тестируете результат, но принцип заключается в том, что if
является истинным, если команда выполнена успешно (код завершения равен нулю считается успешным). Например:
if some_command
then
((upPCs++))
fi
Вы можете использовать: '((upPCs ++))' в bash. – anubhava
Вы можете попробовать 'upPCs = $ upPCs + 1;' – ForceBru
Спасибо, он работает –