我正在使用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脚本中编写函数的功能。提前谢谢!
此致
答案 0 :(得分:3)
错误消息试图告诉你有CRLF行结尾,并且它不喜欢CR($'\r'
是表示CR,回车的bash
方式。
答案 1 :(得分:1)
使用Cygwin,您需要在执行任何bash文件之前执行此操作:
sed -i' s / \ r $ $' name_of_your_script.sh
完成后,您可以正常使用它。如果您对代码进行了任何更改,请再次使用该行。
这是因为在Cygwin中使用bash文件时CR存在问题。这条线消除了那些困扰CR的问题,并解决了这个问题。