当启动linux脚本使用at命令执行minicom脚本时,不会发生游标运动功能

问题描述 投票:1回答:2

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

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

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

#!/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)

我做错了什么?

linux shell startup at-command
2个回答
1
投票

我猜它与启动期间没有终端有关。

也许在启动minicom之前尝试添加以下行:

export TERM=linux-c-nc

0
投票

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

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

或者可能

atinout /home/user/at_commands.txt /dev/ttyUSB0 /dev/null
© www.soinside.com 2019 - 2024. All rights reserved.