3

我有一个minicom 脚本,它通过串行发送一些命令并期望返回一些东西(有效),但我无法退出 minicom 屏幕。

下面是 minicom 脚本:

success1:    
   print \nSuccessfully received running!
   send "exit" 
   exit 0

success2:
   print \nSuccessfully received degrading!
   ! killall -9 minicom
   exit

我使用! killall -9 minicom的是他们文档中推荐的,但不幸的是,在 Jenkins 上运行脚本时,由于退出代码 137(另一个进程发送了信号 9)而失败。然而,这确实退出了 minicom,只是没有成功。

另一方面,'send "exit"' 只是退出设备,并没有退出 minicom。

我如何退出 minicom 并收到 0 退出代码?

4

2 回答 2

3

您需要输入<stdin>三个字符:<ctrl-A>x<enter>

  • 使用 vi准备文件escape.txt以便写入 ^Ax^M
  • 启动 minicom 脚本

/bin/rm -f capture.txt; ( minicom -D /dev/ttyUSB0 -S test_minicom.macro -C capture.txt < escape.txt ) ; cat capture.txt

于 2019-07-18T14:48:32.393 回答
1

要构建Diego 共享的内容,如果您只需要无错误地退出 minicom 并且不关心捕获退出代码,escape.txt按照 Diego 描述的构建,那么您只需要运行:

( minicom -D /dev/ttyUSB0 -S test_minicom.macro -C capture.txt < escape.txt )

事实证明,这对于像 Ansible 一样的自动配置非常有帮助!

于 2021-06-29T21:12:27.917 回答