Nel*_*lla 1 variables bash operation
我有个问题。我有一个运行良好的 bash 脚本。
while read val1 val2 val3
do
echo "ncap2 -Oh -s'TOPOBATHY(($val1,$val2))=$val3.'"
done < $tmpdir/tmp1 > $tmpdir/tmp2
Run Code Online (Sandbox Code Playgroud)
我只想对 val1 和 val2 执行一次操作,减去 1。我尝试直接减去,但它不起作用。有没有办法做到这一点。在此先感谢您的帮助!
while read val1 val2 val3
do
echo "ncap2 -Oh -s'TOPOBATHY(($val1-1),($val2-1))=$val3.'"
done < $tmpdir/tmp1 > $tmpdir/tmp2
Run Code Online (Sandbox Code Playgroud)
小智 5
您可以使用此语法对 Bash 中的变量执行(整数)算术
对于您的具体情况,您可以在调用变量之前设置变量的新值echo:
val1=$((val1 - 1))
Run Code Online (Sandbox Code Playgroud)
或者你可以将其内联:
echo "ncap2 -Oh -s'TOPOBATHY($((val1 - 1)),$((val2 - 1 )))=$val3.'"
Run Code Online (Sandbox Code Playgroud)
当然,您目前依赖用户输入合适的值,因为您提供的示例中没有错误检查/输入清理。