我有一个设备,通过xmodem上传文件来完成软件更新。
我可以使用lrzsz(http://ohse.de/uwe/software/lrzsz.html)包以两种方式执行此操作。
1)使用屏幕
screen /dev/tty.myserialdevice 115200
然后
^A:exec !! sz -X file.bin
或
2)使用cu
cu -l /dev/tty.myserialdevice -s 115200
然后
~+lsz -X file.bin
现在我想编写一个脚本(最好是ruby或bash脚本)来自动上传文件。
有没有办法将文件传输到屏幕或cu或使用标准输入? 当我尝试编写脚本时,我只能打开连接。 但即便如此,我仍有问题要再次正确关闭此连接。
答案 0 :(得分:4)
不确定你是否还有这个问题,但我最近不得不拼凑一些类似的情况。
我使用screen来自动化这部分,因为它有一些命令行选项可以在后台运行。首先,我创建一个分离的屏幕会话,如下所示:
screen -d -m /dev/tty.myserialdevice 115200
然后,我可以使用-p0选项引用我创建的会话,并给它一个命令来执行-X,在这种情况下是一个命令来屏蔽自己以启动xmodem文件传输。
screen -p0 -X exec \!\! sz -X filetosend
我在网上的其他地方注意到了。\!\!有时候也会使用它,所以请记住这一点,如果你仍有问题,请记住。