意外令牌“完成”附近的语法错误

时间:2012-05-10 08:53:06

标签: bash shell

我运行我的shell脚本但返回错误“语法错误接近意外令牌'完成'”,我想知道为什么会这样?重要的是我可以在另一台计算机上运行它......

请参阅下面的代码:

input=$1
folder=$2
output=$3
while read line
do
  url=`echo $line | awk -F'\t' '{print $2}'`
  id=`echo $line | awk -F'\t' '{print $2}' | sed 's/http:\/\/buy.yahoo.com.tw\/gdsale\/gdsale.asp?gdid=//g'`
  ans=`echo $line | awk -F'\t' '{print $3}'`
  flag=`grep "$ans" $folder/$id".spec"`
  if [ -n "$flag" ]; then
      echo "yes   $line" >> $3
  else
      echo "no    $line" >> $3
  fi
done < $input

谢谢!

1 个答案:

答案 0 :(得分:0)

如果它在一台计算机上运行而在另一台计算机上运行,​​则不同计算机上的脚本文件存在差异。也许你在一台机器上有不同的行结尾 - 用dos2unix

检查它们