我通常无法运行 sh 脚本。这很令人困惑。我将权限设置为 777 和 +x,因此它应该可以与“sh”命令一起使用,对吧……
但它的工作方式很奇怪。例如,这个脚本工作正常:
echo "hello"
它打印“hello”,没有任何错误。但是这个脚本:
#!/bin/bash
for i in `seq 1 5`; do
echo $i
done
...输出此错误:
Syntax error: end of file unexpected (expecting "done")
这个循环有什么问题吗?
答案1
问题在于,您可能Ctrl+C
Ctrl+V
从网站上创建了一个,并且行尾字符有一些奇怪的字符,不是可打印的字符。(您可以通过将文件转储为十六进制来使其可见。)
请在编辑器中打开您的文件,然后手动重新输入所有内容,或者至少删除最后的 eol 字符,保存您的工作,然后重试。