У меня есть две переменные, называемые count1 и count7
count7=0
count7=$(($count7 + $count1))
Это показывает ошибку "выражение не является полным, требуется больше токенов".
Как добавить две переменные?
У меня есть две переменные, называемые count1 и count7
count7=0
count7=$(($count7 + $count1))
Это показывает ошибку "выражение не является полным, требуется больше токенов".
Как добавить две переменные?
Что настроен count1
? Если он не установлен, он выглядит как пустая строка - и это приведет к недопустимому выражению. Какую оболочку вы используете?
В Bash 3.x на MacOS X 10.7.1:
$ count7=0
$ count7=$(($count7 + $count1))
-sh: 0 + : syntax error: operand expected (error token is " ")
$ count1=2
$ count7=$(($count7 + $count1))
$ echo $count7
2
$
Вы также можете использовать ${count1:-0}
чтобы добавить 0, если $count1
не установлен.
В ksh
, bash
, sh
:
$ count7=0
$ count1=5
$
$ (( count7 += count1 ))
$ echo $count7
$ 5
var=$((count7 + count1))
Арифметика в bash использует синтаксис $((...))
.
Вам не нужно $
symbol в пределах $(( ))
Вот простой пример добавления двух переменных:
var1=4
var2=3
let var3=$var1+$var2
echo $var3
приведенный выше сценарий может не работать в ksh. вы должны использовать опцию "let" opparand для оценки значения, а затем повторить его.
val1=4
val2=3
let val3=$val1+$val2
echo $val3
Вы тоже можете это сделать. Может быть быстрее для быстрых вычислений:
echo $[2+2]
У меня нет системы unix под моими руками, но попробуйте это:
count7=$((${count7} + ${count1}))
Или, может быть, у вас есть оболочка, которая не поддерживает это выражение. Я думаю, что bash
это поддерживает, но sh
не делает.
EDIT: существует еще один синтаксис:
count7='expr $count7 + $count1'
echo "$x"
x=10
echo "$y"'enter code here'
y=10
echo $[$x+$y]
Ответ: 20