微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Cygwin的bash:意想不到的EOF而寻找匹配`“'

我有一个.rules文件,使用下面的命令:

echo "char _$(var1)_b_[] = "@(#) $(var1) $(var2) $(var3)";" > $@

处理这个文件的cygwin bash我有以下错误

echo "char _a_b_[] = "@(#) abc 1.2.3 [03/05/2014 064 01:10]";" > file.c _a_b_[]: -c: line 1: unexpected EOF while looking for matching `"' _a_b_[]: -c: line 2: Syntax error: unexpected end of file

在Linux上,它工作正常。 我试图用一个单引号replace双引号:

echo 'char _$(var1)_b_[] = "@(#) $(var1) $(var2) $(var3)";' > $@

但这对我没有帮助。 这个命令有什么问题?

一个`ssh-add Linux的高山class轮吗?

将数组中的查询存储在bash中

在bash脚本循环中输出cat语句的输出

如果没有扩展名为.c的文件,则bash for loop包含通配符(* .c)。 我如何解决

python sys.stdin.read()从尾部-f

UPD

我发现这个错误是由于空间特性而引起的。 命令

echo 'char _$(var1)_b_[] = "@(#) $(var1)";' > $@

失败,但这一个

echo 'char _$(var1)_b_[] = "@(#)$(var1)";' > $@

好的。 看起来像bash认为$(var1)是一个新的命令,不能find需要的报价:

echo " " > file.c > file.c: -c: line 1: unexpected EOF while looking for matching `"' > file.c: -c: line 2: Syntax error: unexpected end of file

为什么Linux命令CP在CLI和脚本中的行为有所不同?

如何从一个shell脚本返回一个variables到另一个脚本

Bash – 如何把每一行放在引号内

BASH:“ – ”和“ – ”选项之间的区别

你如何发送cron输出为空和错误的电子邮件

您可以尝试将echo命令卸载到单独的shell脚本中,例如

target: sh generate_code.sh $(var1) $(var2) $(var3) > $@

和generate_code.sh包含

#!/bin/sh echo "char _${1}_b_[] = "@(#) $1 $2 $3";"

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐