echo "char _$(var1)_b_[] = "@(#) $(var1) $(var2) $(var3)";" > $@
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中
如果没有扩展名为.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:“ – ”和“ – ”选项之间的区别
您可以尝试将echo命令卸载到单独的shell脚本中,例如
target: sh generate_code.sh $(var1) $(var2) $(var3) > $@
和generate_code.sh包含
#!/bin/sh echo "char _${1}_b_[] = "@(#) $1 $2 $3";"
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。