makefile不断弄乱击倒变量



如果我在makefile中使用此代码,它会在第3行上混乱。这是我的代码:

dd if=/dev/zero bs=512 count=2880 of=testfloppy.img
device=$$(hdid -nomount testfloppy.img)
echo $device
newfs_msdos -F 12 $device
hdiutil detach $device -force
device=hdid testfloppy.img|cut -d ' ' -f 1
path=mount |grep -w '$device' | cut -d ' ' -f 3- | cut -d '(' -f 1
cp TEST.SYS $path/
hdiutil detach $device

但是,在运行此代码时,我会获得以下控制台代码:

dd if=/dev/zero bs=512 count=2880 of=testfloppy.img
2880+0 records in
2880+0 records out
1474560 bytes transferred in 0.004152 secs (355139415 bytes/sec)
device=$(hdid -nomount testfloppy.img)
echo evice
evice
newfs_msdos -F 12 evice
newfs_msdos: /dev/evice: No such file or directory
make: *** [All] Error 1

我尝试使用向后的壁虱,我也尝试将其与$$()部分制作为字符串,但两个都没有帮助。

在shell脚本中使用变量与如何在makefile中使用变量之间存在略有区别。

ex:

   var=10
   echo $var      #Works well in shell script
   echo $(var)    #Works well in Makefile
   echo ${var}    #Works well in Makefile

在下面尝试makefile

dd if=/dev/zero bs=512 count=2880 of=testfloppy.img
device=hdid -nomount testfloppy.img
echo ${device}
newfs_msdos -F 12 ${device}
hdiutil detach ${device} -force
device=hdid testfloppy.img|cut -d ' ' -f 1
path=mount |grep -w '${device}' | cut -d ' ' -f 3- | cut -d '(' -f 1
cp TEST.SYS ${path}/
hdiutil detach ${device}

相关内容

  • 没有找到相关文章

最新更新