1
#!/bin/bash

cp ./Source/* ./Working/ 2> /dev/null
echo "Done"


for filename in *.zip;do unzip “$filename”;
 done

在上面的脚本中,我试图将所有文件从源代码复制到工作文件夹中并将文件解压缩到工作文件夹中,但我得到了一个错误unexpected end of file

4

2 回答 2

3

看起来你有不同类型的双引号"$filename",请确保它们都是 ASCII 双引号(十进制 34,十六进制 22)。尝试分析你的脚本

 od -c scriptname
于 2013-05-20T16:58:32.733 回答
0

您在这里最多有两个问题。首先,您的报价不标准。您可能从 MS Word 或自动转换引号的东西中复制粘贴。

您可能遇到的第二个问题是您的文件名中可能包含空格。如果您不期望,这可能会导致脚本中出现各种问题。有一些解决方法,但最简单的可能是更改 IFS:

OLDIFS=$IFS
IFS="$(echo -e '\t\n')" # get rid of the space character in the IFS
... do stuff ...
IFS=$OLDIFS
于 2013-05-20T17:01:10.450 回答