bash 脚本意外标记中的语法错误

syntax error in bash script unexpected token

我在这个 post shell start / stop for python script 中使用了这个例子,但是我遇到了语法错误:

> : command not found 2:
: command not found 6:
'op.sh: line 8: syntax error near unexpected token `{
'op.sh: line 8: `running() {

我是运行 CentOS 6.

你得到这组错误是因为你在行尾有一个额外的 "Windows" 字符。

通常的 Linux 文件通常以一个字符结束行 \n - 意思类似于 "next line" - 而 "Windows" 文件的行以两个字符结束 \r\n - "next line - carriage return"...别问我那时候笔记本电脑上的 carriage 是什么。

这是一个普遍的问题,所有程序员在生活中都会遇到。例如,查看 Difference between \n and \r? 的排名!

有一个 Linux 实用程序可以为您在 OS 之间进行转换:

dos2unix myscript.windows myscript.linux