cygwin bash: 意外的 EOF
cygwin bash: unexpected EOF
以下 bash 代码有什么问题?
#!/bin/bash
if [ -z "" ]; then
echo "Usage: [=11=] {file}"
fi
生成错误 "Unexpected EOF"。
Windows 10.
中的 Cygwin 2.10.0(0.325/5/3)
您的文件中有 DOS 行结尾,这意味着 bash
解析器看到
if [ -z "" ]; then\r
echo "Usage: [=10=] {file}"\r
fi\r
它看到的不是完整的 if
语句,而是一个语句的开头,该语句的条件包括(到目前为止)命令 [ -z "" ]
、then\r
、echo "Usage: [=15= ] {file}"\r
,以及 fi\r
。解析器仍在寻找 then
关键字来终止条件列表,但找到了文件结尾。
将您的脚本保存为 POSIX 文本文件,使用 \n
作为行尾,而不是 \r\n
。
以下 bash 代码有什么问题?
#!/bin/bash
if [ -z "" ]; then
echo "Usage: [=11=] {file}"
fi
生成错误 "Unexpected EOF"。 Windows 10.
中的 Cygwin 2.10.0(0.325/5/3)您的文件中有 DOS 行结尾,这意味着 bash
解析器看到
if [ -z "" ]; then\r
echo "Usage: [=10=] {file}"\r
fi\r
它看到的不是完整的 if
语句,而是一个语句的开头,该语句的条件包括(到目前为止)命令 [ -z "" ]
、then\r
、echo "Usage: [=15= ] {file}"\r
,以及 fi\r
。解析器仍在寻找 then
关键字来终止条件列表,但找到了文件结尾。
将您的脚本保存为 POSIX 文本文件,使用 \n
作为行尾,而不是 \r\n
。