Git Bash:从文件中读取数字并减去数字

时间:2019-03-14 17:21:29

标签: bash math git-bash mingw-w64 arithmetic-expressions

我正在尝试获取最初编写为在Linux上运行以在Windows机器上运行的bash脚本。在Git Bash(mingw64)中运行脚本。我被困的部分是减去我通过读取文件定义的两个变量。

#!/bin/bash
cd ..
cd _config

# read in target length from config.R file
while read -r a b; do
  c=${b##*<-}
  if [ ${#c} -gt 0 ];
  then
  IFS=', ' read -r -a array <<< $c
      if [[ $a == *"target."* ]]; then
        target_period="${array[0]}"
      elif [[ $a == *"train."* ]]; then
        train_period="${array[0]}"
      fi
  fi
done < config.R

cd ..
cd _extract_scripts

prediction_size=$target_period
total=$train_period

# Getting stuck here. Funny thing is that this used to work.
remaining=$(($total-$prediction_size))
echo $remaining

在Git Bash中运行上述命令时,出现以下错误:

")0yntax error: invalid arithmetic operator (error token is "

我尝试了所有建议的答案here,但没有成功。

这就是我正在阅读的config.R文件的样子:

## config.R ##

options(scipen = 999)

target.period.length <- 90
train.period.length <- 730
INVALID_PARAMS_MESSAGE <- "Invalid mode parameter provided."

如果我只是直接定义变量,那么数学有效:

prediction_size=730
total=90
remaining=`eval expr $total - $prediction_size`

这使我认为我需要在减去之前转换$prediction_size$total的类型。

0 个答案:

没有答案