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

问题描述 投票:-1回答:2

我正在脚本下面运行并获得

error script.sh:第9行:在查找匹配的'''script.sh时出现意外的EOF:第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
bash shell
2个回答
0
投票

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

for i in {1..count};

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

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

0
投票
count=$(cat test | awk -F "_" '{print $1}` | uniq | wc -l)
  1. 在{print $ 1}结束时丢失'
  2. 无意中在=附近增加了空间
© www.soinside.com 2019 - 2024. All rights reserved.