当我运行我的剧本我得到这个错误:错误在for循环
234.sh: line 3: syntax error near unexpected token `do
234.sh: line 3: `for folder in $array ; do
我没有看到这个错误。帮帮我?
#!/bin/bash
base=$(pwd)
array=`find * -type d`
for folder in $array ; do
cd $folder ;
grep -n $1 * | while read line ;
do name=$(echo "$line" | cut -f1 -d:) ;
if [ "$name" == "1234.sh" ]; then
continue ;
else
string=$(echo "$line" | cut -f2 -d:) ;
a=$(expr $string - 10)
if [ $a -lt 1 ] ; then
a=1 ;
fi ;
b=$(expr $string + 10) ;
echo "-----------------------"
echo $name:$a
sed -n $a,${b}p $name;
fi ;
done
cd $base ;
done
删除';'在'做'之前并在换行符上放上'do' – Les 2012-07-31 13:00:50
这应该不是必需的;用分号结束语句是合法的。 – chepner 2012-07-31 13:09:20
名为“数组”的变量不是数组,它是一个字符串。 – jordanm 2012-07-31 13:12:42