【问题标题】:Trigger a script with live command line output使用实时命令行输出触发脚本
【发布时间】:2018-11-19 18:33:34
【问题描述】:

我有一个 Python 代码,它每秒将输出打印到命令行。它根据麦克风输出打印出“警报”或“测试”。

我想写一个shell脚本,根据命令行输出触发另一个脚本。你知道我该如何实现它吗?

我希望它在传感器打印“警报”或“测试”时记录声音。

提前致谢

【问题讨论】:

  • 我的建议是,将您的命令行输出重定向到文本文件。逐行读取该文本文件,如果它的“警报”或“测试”执行您想要的脚本。

标签: python command-line cmd raspberry-pi3


【解决方案1】:

你没有说什么样的shell脚本或描述python代码是如何运行的。

如果您可以将 python 代码的输出通过管道传输到例如 ksh 脚本?那么只需执行以下操作即可:

mycode.py|myscript.ksh

在你的 ksh 脚本中做类似的事情

#!/bin/ksh
until [[ signal == "abort" ]]
  read signal
  do
      case signal in
               test)
                   printf "test\n"
                   ;;
               alarm)
                   printf "alarm\n"
                   ;;
      esac
  done

话虽如此,我确实想知道为什么您不只处理脚本在您的 python 程序中所做的任何事情。

【讨论】:

  • 我正在使用一个不是我编写的python vu-meter程序,当我运行它时,它会将vu-meter值打印到linux命令行。每个新的测量值都被写入最后一行等。所以基本上我无法编辑这个程序。我的目的是在检测到高音量时运行记录代码。我知道 vu 表输出,我知道 arecord 代码,但我不知道如何用条件管道它们
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-24
  • 1970-01-01
  • 2018-11-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多