我試圖跟蹤android中通知的停用。 這是我計劃通過每隔x秒輪詢通知dumpsys來完成的。 那裏我已經把通知放入一個變量,所以我可以搜索$ tmp變量的文本(在本例中爲google.gm),並基於此將$ Gmail設置爲true或false。Android中的BASH>使用通配符不起作用
當我測試通過PC上的Cygwin終端我的腳本,設置它在Android
偉大的工作,但沒有得到dumpsys通知到$ TMP工作正常,但是當我測試它(中殼)上它似乎不想接受我的*通配符。
tmp=$(dumpsys notification)
[[ "$tmp" == *"google.gm"* ]] && Gmail=true || Gmail=false
我一直在網上搜索最近兩個小時,但它會讓我發瘋。 我已經完成了簡化測試來調試它,它看起來好像是通配符
有沒有人看到我做錯了什麼?
新的建議後,我設法使這一點吧:
tmp=$(dumpsys notification)
case $tmp in *notify_missed_call*) PRF1="1" ;; *) PRF1="0" ;; esac
case $tmp in *conv_notify*) PRF2="1" ;; *) PRF2="0" ;; esac
case $tmp in *NotYetThere*) PRF3="1" ;; *) PRF3="0" ;; esac
case $tmp in *stat_notify_calendar*) PRF4="1" ;; *) PRF4="0" ;; esac
echo $PRF1,$PRF2,$PRF3,$PRF4, > /sdcard/tmp.txt
但不知何故,只把與1號線工程時;它們之間。 任何方式使這項工作多行(更容易維護)並優化它?
謝謝
請顯示驗證碼。 – DrinkJavaCodeJava 2012-07-15 21:23:58
你的例子中沒有通配符? – npostavs 2012-07-15 21:25:43
除非您使用經過修改的Android圖像,否則Android的默認安裝不會使用bash。有很多東西,除了通配符(主要實際上是這樣),它們不起作用(比如'[['')。你最好在它上面找一個Busybox或真正的Bash。 – fork0 2012-07-15 21:27:04