你的脚本会./vendor/bin/ir.sh[12]: syntax error: unexpected '< '
时间: 2024-01-30 15:01:42 浏览: 127
很抱歉,这是因为在 Android 中的 sh 解释器不支持使用 <() 语法。可以使用管道符号将 getevent 命令的输出传递给 while 循环,避免使用 <() 语法。修改后的代码如下:
```
#!/system/bin/sh
# 指定需要监听的键值
keyvalue="00a5"
# 监听 /dev/input/event0 设备文件
getevent -t /dev/input/event0 | while read -r event; do
# 筛选出需要的事件
if echo "$event" | grep -qE "$keyvalue.*pressed"; then
echo "Button KEY_PREVIOUSSONG is pressed."
fi
done
```
在代码中,我们使用 getevent 命令获取事件,并使用管道符号将其输出传递给 while 循环。如果检测到 KEY_PREVIOUSSONG 被按下,则输出相应信息。注意,由于使用了 -r 选项,read 命令会将反斜线字符解释为普通字符。
相关问题
#!/system/bin/sh if [ -f /bkdata/com.vrt.varc ]; then cp /mnt/sdcard/com.vrt.varc /bkdata/com.vrt.varc fi android10 执行报错/system/bin/sh: /vendor/bin/copy.sh[3]: syntax error: unmatched 'if'
你的脚本中 if 语句的结尾缺少了一个关键字 "fi",导致语法错误。正确的脚本应该像这样:
```sh
#!/system/bin/sh
if [ -f /bkdata/com.vrt.varc ]; then
cp /mnt/sdcard/com.vrt.varc /bkdata/com.vrt.varc
fi
```
请注意 if 和 fi 必须成对出现,if 后面的条件语句要用方括号 [] 括起来。
阅读全文