【问题标题】:cygwin syntax error near unexpected token `done'意外标记“完成”附近的cygwin语法错误
【发布时间】:2014-01-27 18:52:30
【问题描述】:

我正在尝试使用 cygwing 脚本将我的 ansi 文件编码转换为 utf8 编码。下面是脚本:

#!/bin/bash
FROM=ANSI
TO=UTF-8
ICONV="iconv -f $FROM -t $TO"
# Convert
find webazmoon7/ -type f -name "*" | while read fn; do
cp ${fn} ${fn}.bak
$ICONV < ${fn}.bak > ${fn}
rm ${fn}.bak
done

但我在意外标记“完成”附近出现语法错误。 “webazmoon7”是我试图在其中转换文件编码的目录。有什么问题?

【问题讨论】:

    标签: bash cygwin


    【解决方案1】:

    尝试像这样引用变量并更改 find/while 循环:

    while read -r fn; do
       cp "${fn}" "${fn}.bak"
       iconv -f "$FROM" -t "$TO" < "${fn}.bak" > "${fn}"
       rm "${fn}.bak"
    done < <(find webazmoon7/ -type f -name "*")
    

    【讨论】:

      猜你喜欢
      • 2011-08-02
      • 2015-05-10
      • 2015-01-01
      • 2018-07-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-19
      相关资源
      最近更新 更多