对变量执行操作。减1

问题描述 投票:0回答:1

我有一个问题。我有一个运行良好的脚本。

    while read val1 val2 val3
    do
    echo "ncap2 -Oh -s'TOPOBATHY(($val1,$val2)=$val3.'"
    done < $tmpdir/tmp1 > $tmpdir/tmp2

我只想对val1和val2执行一个操作,减去1。我试图直接减去,但是它不起作用。有没有办法做到这一点。在此先感谢您的帮助!

    while read val1 val2 val3
    do
    echo "ncap2 -Oh -s'TOPOBATHY(($val1-1),($val2-1))=$val3.'"
    done < $tmpdir/tmp1 > $tmpdir/tmp2
bash variables operation
1个回答
0
投票
您可以使用this syntax对Bash中的变量执行(整数)算术运算>

对于您的特定情况,您可以在echo中调用变量之前设置变量的新值:

val1=$((val1 - 1))

或您可以将其放在一行中。

当然,您目前依赖用户输入合适的值,因为在您提供的示例中没有错误检查/输入清除。

© www.soinside.com 2019 - 2024. All rights reserved.