在寻找匹配错误时出现意外的EOF

时间:2018-03-06 07:20:40

标签: bash shell

我在脚本下面运行并获得

  

错误script.sh:第9行:在寻找匹配的'''时出现意外的EOF   script.sh:第15行:语法错误:意外的文件结束。

虽然我试图手动运行第9行,但它运行没有错误。

alias gxt="awk -F "_" '{print \$1}' test | uniq"
count = $(cat test | awk -F "_" '{print $1} | uniq | wc -l)

for i in {1..count};
        do
        User=$(gxt | head -n $i)
        recharge=$(grep -E "$User.recharge" test| awk -F "_" '{print $3}' | xargs ) 
        total1=( $((${recharge// /+})))   
        sales=$(grep -E "$User.sale" test| awk -F "_" '{print $3}' | xargs ) 
        total2=( $((${sales// /+})))
        balance=`expr $total1 - $total2`
        echo $User.balance.$balance >> result
        done

2 个答案:

答案 0 :(得分:0)

count=$(cat test | awk -F "_" '{print $1}` | uniq | wc -l)
  1. 在{print $ 1}
  2. 末尾缺少'
  3. 无意中在=
  4. 周围添加了空格

答案 1 :(得分:0)

除了已报告的问题和shellcheck公开的问题之外,还有另一个问题:

for i in {1..count};

'count'不能是变量。它只能是一个常数 将其更改为

for ((i = 1; i <= count; i++)); do whatever ; done