SHELL 按行读取命令、执行命令和删除命令

981 阅读1分钟
背景说明

由于发送MQTT,对方一直接受出现乱码,但是用命令行发送就没有这个问题,手工写了SHELL脚本,定时使用命令行发送MQTT给对方。

脚本说明如下:

  1. 按照每行读取文件
  2. 显示每行内容
  3. 执行行内容
  4. 删除刚刚已经执行的第一行
#!/bin/bash
cat '/data/mqtt/publish/cmd.txt' | while read line
do
echo $line  
eval $line
sed -i '1d' '/data/mqtt/publish/cmd.txt'
done
/data/mqtt/publish/cmd.txt 文件定时写MQTT命令即可。