【问题标题】:No cursor motion capability occurs when startup linux script execute minicom script with at commands启动 linux 脚本使用 at 命令执行 minicom 脚本时不会出现光标移动功能
【发布时间】:2018-03-01 18:23:06
【问题描述】:

我为运行 debbian jessie armbian 8.1 的板创建了一个启动 linux 脚本,我需要在启动时在通过 USB 接口连接到它的调制解调器中运行命令。 我已将脚本放入 rc.local:

#!/bin/sh -e
cd /home/user/Script/
sh script.sh
exit 0

在文件夹 Script 我有一个脚本:

#!/bin/sh
minicom -S at_command.txt 

at_command 包含:

send at+creg=1
send exit
! killall minicom 

问题是当我手动运行脚本时它可以正常工作。 但是,当我启动板时, at 命令不执行。
由于开发板是 debian,我还关注了链接 http://www.stuffaboutcode.com/2012/06/raspberry-pi-run-program-at-start-up.html 并调整脚本以根据 LSBInitScripts 运行,但行为相同, 手动运行sudo /etc/init.d/myScript start 时,一切正常,但在linux 启动后没有执行at_command。 我在 rc.local 中添加了以下调试命令:

set -x;
exec 2>>/home/user/Script/minicom-rc.log;
date +"$0 %c" >&2

在生成的日志文件中,我得到了打印输出:

+ date +/etc/rc.local %c
/etc/rc.local Fri 02 Mar 2018 04:02:43 PM EET
+ cd /home/user/Script/
+ sh script.sh
No cursor motion capability (cm)

我做错了什么?

【问题讨论】:

  • 文件的权限是否正确(运行脚本的用户对所有内容都有读取权限)?您能否将set -x; exec 2>>/tmp/minicom-rc.log; date +"$0 %c" >&2 添加到rc.d 脚本的开头以进行调试,并报告您在日志中看到的内容?将其划分为需要绝对路径名的单独脚本相当笨拙,如果至少您的用户脚本可以嵌入minicom 命令序列会更好。
  • @tripleee 感谢您的回答。用户对所有内容都有读取权限。我按照您的建议进行调试,在我上面更新的帖子中,您可以看到相关的日志文件。错误似乎是没有光标移动能力(厘米),但不知道如何解决。
  • 我猜这与启动过程中没有终端有关。也许在开始minicom之前尝试export TERM= linux-c-nc
  • ...= 后面没有空格
  • 如果这不起作用,不妨考虑将minicom 替换为设计 用于脚本使用的东西,例如chat

标签: linux shell startup at-command


【解决方案1】:

我猜这与启动过程中没有终端有关。

也许尝试在开始minicom 之前添加以下行之前

export TERM=linux-c-nc

【讨论】:

    【解决方案2】:

    在这种情况下,您也可以使用我的atinout 程序,这是一个专门用于从命令行向调制解调器发送 AT 命令的程序(假设调制解调器是 /dev/ttyUSB0):

    echo at+creg=1 | atinout - /dev/ttyUSB0 -
    

    或者可能

    atinout /home/user/at_commands.txt /dev/ttyUSB0 /dev/null
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-30
      • 2017-01-14
      • 1970-01-01
      • 2011-11-14
      相关资源
      最近更新 更多