我尝试构建optiboot引导程序。这有一些错误,我试着解决它们。我想optiboot是建立在linux系统上的。 所以我安装了https://sourceforge.net/projects/win-bash/files/shell-complete/latest/并将其路径添加到PATH变量。
但是bash / sh脚本仍然会以#34;糟糕的替换"
生成的bash脚本如下所示。我已经用#!/ bin / bash添加了第一行,但它没有成功。
#!/bin/bash
# 1 "baudcheck.c"
# 1 "C:\\Users\\trivalik\\Downloads\\arduino-1.8.0 \\hardware\\anet\\avr\\bootloaders\\atmega//"
# 1 "<built-in>"
# 1 "<command-line>"
# 1 "baudcheck.c"
# 24 "baudcheck.c"
bpsx=115200
bps=${bpsx/L/}
bps=${bps/U/}
fcpux=16000000L
fcpu=${fcpux/L/}
fcpu=${fcpu/U/}
echo $bpsx
echo $bps
当我使用&#34; bash baudcheck.tmp.sh&#34;在操作系统Windows 10上执行此操作时我明白了:
115200
baudcheck.tmp.sh: ${bpsx/L/}: bad substitution
baudcheck.tmp.sh: ${bps/U/}: bad substitution
baudcheck.tmp.sh: ${fcpux/L/}: bad substitution
baudcheck.tmp.sh: ${fcpu/U/}: bad substitution
主要问题是,Windows上参数替换的不同之处是什么? 还是完全禁用?
这里的所有重击提示都让我无法帮助。
编辑:
解决方案似乎是来自win-bash的bash非常古老。 版本返回:
bash$ echo $BASH_VERSION
win-bash_0.8.5(0)
相反,我现在使用了来自git的bash for Windows https://git-for-windows.github.io/
这个bash版本不是最新版但更高版本:
$ echo $BASH_VERSION
4.3.42(5)-release
有人知道更高的Windows版bash版本吗?