编写简单的bash脚本时遇到了很大的困难。
我基本上想要全天候监控调试日志并监听新行。如果有新行,我希望它执行命令。
logcat | grep com.amazon.firelauncher/.Launcher
当我运行此代码时,我得到一个实时调试窗口,每当在该命令中弹出一个新行时,我想执行一个命令(重新启动一个例子)。
如何做到这一点?我尝试将输出发送到文件并监视该文件以更改文件大小,但它不起作用。我真的需要帮助!
答案 0 :(得分:0)
您应该可以使用read
:
#!/bin/bash
while logcat | grep "com.amazon.firelauncher/.Launcher" | read -r line; do
echo "Text read from logcat"
/path/to/executable
done
答案 1 :(得分:0)
这是我的最终答案,但如果不是Martin Konecny的帮助,我就不会得出结论,他做了所有繁重的工作。
#!/bin/bash
am monitor | while read -r line; do
if [[ $line == *"firelauncher"* ]]
then
am start com.newlauncher.launcher
fi
done