所以我想要实现的目标似乎很简单,但我似乎无法找到一种方法来做到这一点,而不使用外部实用程序或不预安装的库。
我有一个运行 Linux 的嵌入式系统(内核 3.x,具体取决于型号)。在它上我可以访问大多数 GNU 核心实用程序(如 cat、sed、ls、tar 等)。
我可以通过它访问 shell 会话/dev/ttyUSBx,例如使用 screen :
screen /dev/ttyUSB0 9600
Run Code Online (Sandbox Code Playgroud)
我运行 screen 的计算机(我们称之为source)安装了 ArchLinux,可以访问互联网。
我试图访问的嵌入式系统(我们称之为target)是一台 Linux 机器,没有任何网络访问权限,只有一个串行端口/dev/ttyUSBx。
我需要将二进制文件复制到目标上的特定位置,然后能够通过 cron 作业自动刷新某些硬件(在本例中为 FPGA)。
我无法真正在 上安装软件target,只能制作小型 shell 脚本。
你知道我可以使用任何 POSIX shell 方式来实现与 scp 相同的行为,但通过接口/dev/ttyUSBx而不是 ssh 吗?
我想到使用管道和文件重定向到:
-cat将二进制文件/dev/ttyUSBx从source.
- 在 上target,将流重定向到文件。
我什至不知道如何开始。我需要使用它的项目将于明天到期,但我现在迷失了方向,欢迎任何想法,最好是我可以直接从 shell 脚本使用的标准 POSIX 工具。
我确实可以在目标上访问 gcc,以防需要编译解决方案,但我仍然更喜欢 shell 解决方案,因为编译速度target非常慢,并且需要更多的努力才能部署到多台计算机。
我的目标是自动化此工作流程(尽可能减少用户交互)。也许像将target文件系统挂载为 NFS …