【发布时间】:2011-05-04 18:09:48
【问题描述】:
我正在尝试从 cygwin 学习 Bash 脚本。当我在命令提示符中手动键入以下行时,一切正常,我看到屏幕上打印了从 1 到 10 的数字。
for i in {1..10}; do
echo $i;
done
但是,如果我将脚本保存到文件 (test.sh) 并运行“./test.sh”,则会显示以下错误
./test.sh: line 1: syntax error near unexpected token `$'do\r''
'/test.sh: line 1: `for i in {1..10}; do
这对我来说似乎很奇怪。我想知道为什么相同的脚本在命令行中运行良好但不是从文件中运行。
谢谢, 德里克
【问题讨论】:
-
在 ubuntu 上的 bash 中对我来说很好(在命令行和脚本文件中)。
-
您使用什么文本编辑器来编辑文件?您的脚本可能是 RTF 或其他非纯文本格式。
-
我在 Windows 中使用 GVIM。我将尝试使用 :set fileformat=unix 强制使用 unix 编码保存文件。将报告 tmr。
-
是的,将文本文件更改为 unix 编码有效!