【问题标题】:Pipling STDOUT to script not activating script将 STDOUT 注入脚本未激活脚本
【发布时间】:2017-09-12 01:34:39
【问题描述】:

我正在尝试将标准输出从脚本传送到 bash 脚本,该脚本发送带有信息的 curl POST。

这是命令的样子:

rtl_fm -g 100 -d 3 -s 22050 -f ${pager_freq} - | multimon-ng -q -f alpha -a POCSAG512 -t raw - | tee page-upload.sh

当我简单地回显到脚本时,与输出类似的文本会按预期工作:

echo "POCSAG512: Address: 1210001  Function: 0  Alpha:   P121 TO REPLACE UNIT P116<LF>IN STATION 116<LF>6825 TOMKEN RD<LF>2017/09/11  17:23:50<EOT>"|page-upload.sh

我尝试在 echo 之后或在 bash 脚本甚至 php 中直接进行 curl,但由于某种原因没有乐趣。

有什么想法吗?

【问题讨论】:

    标签: php bash curl


    【解决方案1】:

    您以错误的方式使用teetee 写入文件,它不调用脚本。也许你的意思是这样的

    rtl_fm -g 100 -d 3 -s 22050 -f ${pager_freq} - | multimon-ng -q -f alpha -a POCSAG512 -t raw - | tee upload.log | page-upload.sh
    

    【讨论】:

    • 谢谢,但我在有和没有 T 恤的情况下都试过了。 tee 是用来回显到 shell 的,所以我可以看到什么时候有东西被发送到脚本,它确实做到了。
    【解决方案2】:

    我已经设法弄清楚问题与 multimon-ng 应用程序如何输出标准输出有关。在不涉及杂草的情况下,这是我通过插入一个while语句在我的bash脚本中修复它的方法:

    在阅读消息时 做 curl https://www.example.com/text_reciever.php -X POST --data-urlencode "$message" 完成

    【讨论】:

      猜你喜欢
      • 2016-03-31
      • 1970-01-01
      • 2019-08-19
      • 2017-12-18
      • 1970-01-01
      • 1970-01-01
      • 2014-05-27
      • 1970-01-01
      • 2018-08-02
      相关资源
      最近更新 更多