Increment variable value by 1 ( shell programming)

前端 未结 5 2008
太阳男子
太阳男子 2020-12-24 11:28

I am a beginner to shell programming and it sounds like a very stupid question but i cant seem to be able to increase the variable value by 1. I have looked at tutorial but

相关标签:
5条回答
  • 2020-12-24 11:33

    You can try this :

    i=0
    i=$((i+1))
    
    0 讨论(0)
  • 2020-12-24 11:43

    These are the methods I know:

    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
    

    Note the spaces in the last example, also note that's the only one that uses $i.

    0 讨论(0)
  • 2020-12-24 11:45

    There are more than one way to increment a variable in bash, but what you tried is not correct.

    You can use for example arithmetic expansion:

    i=$((i+1))
    

    or only:

    ((i=i+1))
    

    or:

    ((i+=1))
    

    or even:

    ((i++))
    

    Or you can use let:

    let "i=i+1"
    

    or only:

    let "i+=1"
    

    or even:

    let "i++"
    

    See also: http://tldp.org/LDP/abs/html/dblparens.html.

    0 讨论(0)
  • 2020-12-24 11:46

    The way to use expr:

    i=0
    i=`expr $i + 1`
    

    the way to use i++

    ((i++)); echo $i;
    

    Tested in gnu bash

    0 讨论(0)
  • 2020-12-24 11:57

    you can use bc as it can also do floats

    var=$(echo "1+2"|bc)
    
    0 讨论(0)
提交回复
热议问题