代码符号栏 - 快速插入 shell 特殊字符
什么是代码符号栏
Runner 的命令编辑器底部有一排常用 shell 特殊字符——| ; & $ " ' \ ` ` () {} []` 等,点一下就能插入到当前光标位置。
解决的问题是:手机输入法切换到符号键盘很慢,而且很多 shell 专用符号在中文输入法的符号键盘里找不到。
常用符号速查
| 符号 | 作用 | 使用场景 | ||||
|---|---|---|---|---|---|---|
; | 命令分隔符 | echo 开始; pm disable-user --user 0 包名; echo 完成 | ||||
| `\ | \ | ` | 或运算(前一条失败才执行后一条) | `pm enable 包名 \ | \ | pm install -r 安装包` |
&& | 与运算(前一条成功才执行后一条) | mkdir -p /sdcard/backup && cp -r /sdcard/data /sdcard/backup/ | ||||
| ` | ` | 管道(左边输出作为右边输入) | `pm list packages \ | grep weibo` | ||
> | 重定向覆盖 | dumpsys activity > /sdcard/activity.txt | ||||
>> | 重定向追加 | echo '日志' >> /sdcard/log.txt | ||||
< | 输入重定向 | cat < /sdcard/file.txt | ||||
$() | 命令替换 | echo $(getprop ro.build.version.release) | ||||
"" | 双引号(变量展开) | echo "当前用户: $USER" | ||||
'' | 单引号(不展开变量) | echo '$USER 会原样显示' | ||||
` ` | 反引号(旧版命令替换,不推荐) | ` echo date ` | ||||
() | 子 shell | (cd /sdcard; ls) | ||||
{} | 命令组 | { echo a; echo b; } > /sdcard/out.txt |
实际使用
假设你要写一个组合命令:查询前台 Activity 然后保存到文件。
- 输入
dumpsys activity activities - 点击符号栏的
|插入管道 - 输入
grep mResumedActivity - 点击符号栏的
>插入重定向 - 输入
/sdcard/foreground.txt
最终命令:
dumpsys activity activities | grep mResumedActivity > /sdcard/foreground.txt
整个过程不用切换输入法符号键盘,全部在 Runner 的符号栏里点完。
注意转义
符号栏插入的是原始字符,不帮你做转义。如果你在 JSON 编辑器里写多行命令,反斜杠 \ 需要在 JSON 层面转义:
shell 命令里写 \n(换行),在 JSON 里要写成 \\n。Runner 的 JSON 编辑器会帮你处理吗?取决于版本——建议用自动完成或先在普通编辑器里写好再导入。
符号栏定制
部分版本的 Runner 支持自定义符号栏显示哪些符号。如果默认符号不够用或太杂,找设置里的「符号栏」或「键盘布局」选项调整。