【发布时间】:2015-09-10 11:26:30
【问题描述】:
我一直致力于尝试将在构建机器上构建源代码的复杂过程自动化,然后将编译后的图像文件传输到我的嵌入式 ARMv7 设备以进行闪存。使用标准的 Linux Shell 脚本,每一步本身都很容易自动化,但是当试图在一个巨大的脚本中完成所有事情时,事情就变得复杂了。到目前为止,我一直在使用 expect-lite 来完成这项工作,除了现在我遇到了问题外,它一直在工作。在传输图像时,我的期望精简代码如下所示:
$imageDestination="/the/destination"
$imageSource="/the/source/"
>sftp $userName'@'$buildMachine
>$password
>get $imageSource'/'x-load_sdcard.bin.ift $imageDestination'/'MLO
>echo "Finished"
>bye
如果您对 expect-lite 有所了解,那么您就会知道上述变量将被读取为“Shell”变量。问题是,据我所知,SFTP 不允许使用变量。有没有办法告诉 expect-lite 使用预定义的变量而不是尝试使用“Shell”变量?或者,是否有一些更巧妙的方法可以在不删除变量的情况下绕过这个限制?
非常感谢所有帮助。
【问题讨论】: