How to add values in a variable in Unix shell scripting?

前端 未结 9 1960
谎友^
谎友^ 2021-02-19 02:14

I have two variables called count1 and count7

count7=0
count7=$(($count7 + $count1))

This shows an error \"expression is not complete; more tok

相关标签:
9条回答
  • 2021-02-19 02:38

    I don't have a unix system under my hands, but try this:

    count7=$((${count7} + ${count1}))

    Or maybe you have a shell that doesn't support this expression. I think bash does support it, but sh doesn't.

    EDIT: There is another syntax, try:

    count7=`expr $count7 + $count1`
    
    0 讨论(0)
  • 2021-02-19 02:39

    You can do this as well. Can be faster for quick calculations:

    echo $[2+2]
    
    0 讨论(0)
  • 2021-02-19 02:40

    Here's a simple example to add two variables:

    var1=4
    var2=3
    let var3=$var1+$var2
    echo $var3
    
    0 讨论(0)
  • 2021-02-19 02:43

    What is count1 set to? If it is not set, it looks like the empty string - and that would lead to an invalid expression. Which shell are you using?

    In Bash 3.x on 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
    $
    

    You could also use ${count1:-0} to add 0 if $count1 is unset.

    0 讨论(0)
  • 2021-02-19 02:50
    read num1
    read num2
    sum=`expr $num1 + $num2`
    echo $sum
    
    0 讨论(0)
  • 2021-02-19 02:56

    In ksh ,bash ,sh:

    $ count7=0                     
    $ count1=5
    $ 
    $ (( count7 += count1 ))
    $ echo $count7
    $ 5
    
    0 讨论(0)
提交回复
热议问题