对变量执行操作。减1

时间:2019-11-29 12:10:48

标签: bash variables operation

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

    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

1 个答案:

答案 0 :(得分:0)

您可以使用this syntax

对Bash中的变量执行(整数)算术运算

对于您的特定情况,您可以先设置变量的新值,然后再在echo中调用它们:

val1=$((val1 - 1))

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

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