Bash脚本语法错误:操作数预期(错误标记为" =")

时间:2017-04-12 14:59:05

标签: bash syntax

我需要做的是将一个长文本文件剪切成具有相同行数的10个和平文件。因此我编写了以下脚本。

#!/usr/bin/bash
filename="$1"
count=0
file=0
br=$(wc -l $filename | awk '{print $1}')
let br = $br/10
while read -r line
do
let count = count + 1
    name="$line"
echo $name >> file$file.csv
if [ $count = $br ];then
let count=0
let file+=1
fi
done < "$filename"

脚本产生以下错误,我不明白

cut.sh: line 9: let: =: syntax error: operand expected (error token is "=")

我已阅读similar topic但仍无法找到解决方案。 欢迎任何想法。感谢

2 个答案:

答案 0 :(得分:3)

bash变量赋值不能在=周围有空格。删除=周围的空格:

let br=${br}/10

对所有这些案件都这样做。

答案 1 :(得分:2)

bash中的数学计算需要用双括号括起来,所以:

let count=$(( $count + 1 ))