cygwin中的bash函数语法错误

时间:2013-11-16 02:44:55

标签: bash function syntax cygwin

我正在使用cygwin。我做了一个sh文件,如下所示

#!/bin/sh
function bash {
local var="local variable"
echo $var
}

then I execute this file 
./test.sh

返回的结果是

./test.sh
./test.sh: line 2: syntax error near unexpected token `$'\r''
'/test.sh: line 2: `function bash {

我不知道如何修复它并使用在bash脚本中编写函数的功能。提前谢谢!

此致

2 个答案:

答案 0 :(得分:3)

错误消息试图告诉你有CRLF行结尾,并且它不喜欢CR($'\r'是表示CR,回车的bash方式。

答案 1 :(得分:1)

使用Cygwin,您需要在执行任何bash文件之前执行此操作:

sed -i' s / \ r $ $' name_of_your_script.sh

完成后,您可以正常使用它。如果您对代码进行了任何更改,请再次使用该行。

这是因为在Cygwin中使用bash文件时CR存在问题。这条线消除了那些困扰CR的问题,并解决了这个问题。