全网首发?在终端应用中使用Shizuku,并添加到PATH
我搜了网络上很多视频教程都停在了shizuku的第一部,而没有添加到path,要么是到目录下运行sh rish,或者sh <相对/绝对路径>
所以我发一篇将执行权限授予 rish 并将其添加到 PATH,可以在终端任何目录下直接使用rish命令

因为在Android 14及以上版本中, app_process不能加载可写的dex文件,需要将dex文件复制到终端应用的私有目录(如/ data/data/<package>)中,然后去掉写权限
所以接下来我将以安卓14+的版本做示范
1、导出文件
启动shizuku → 点击在终端应用中使用Shizuku → 导出文件 → 选择保存目录 → 保存
2、启动termux获得权限
启动termux,输入:termux-setup-storage
谷歌版会跳到设置的所有文件访问权限页面 → 找到termux应用并授权
官方版会弹出授权弹窗请求视频图片等权限,点击允许
输入 ls 命令,你会看到一个名为 storage 的新文件夹。
进入这个文件夹 cd storage,再输入 ls,你会看到几个链接到你手机内部存储的快捷方式,例如:dcim -> 你的相机照片和视频
downloads -> 下载文件夹
movies -> 电影文件夹
music -> 音乐文件夹
pictures -> 图片文件夹
shared -> 通常是你手机内部存储的根目录
3、安装基础工具
这还要教?
等下要用到vim这一类文本编辑器,termux可能没有,自己去装
4、在termux私有目录下创建rish文件夹
输入cd,默认是home,执行:mkdir -p rish
5、将导出的文件复制到rish
进入到rish文件所在目录
home/storage/没有就去/storage/emulated/0/找
将导出的文件复制到rish,输入:
cp ./rish ~/rish/
cp ./rish_shizuku.dex ~/rish/
知道这个命令怎么用就随便你们了,我说进入到文件所在目录是为了解决别人导出目录不一的问题
6、修改权限
进入私有目录:cd ~/rish
修改权限:
chmod +x ~/rish/rish
chmod 444 ~/rish/rish_shizuku.dex
7、获得shizuku授权
获得shizuku授权:sh rish
到此为止就算基本的通过 Shizuku 运行命令的方法了,接下来将rish添加到PATH
8、修改rish文件
修改前可先备份原脚本:
cp ~/rish/rish ~/rish/rish.backup
脚本使用 BASEDIR=$(dirname "$0")来 获取脚本所在目录,添加到PATH后通过符号链接$PREFIX/bin/rish执行时,$0指向的是符号链接路径(/data/ data/com.termux/files/usr/bin/ rish),而不是实际脚本位置
改为
将 BASEDIR 硬编码为绝对路径 /data/data/com.termux/files/home/rish
在最后一行添加了 exec 命令
9、创建符号链接
ln -sf ~/rish/rish $PREFIX/bin/rish
10、保存并测试
确保权限正确:chmod +x ~/rish/rish
测试:rish --help

11、验证
在 Termux 中,$PREFIX/bin 目录默认包含在 PATH 环境变量中。可以通过该命令查看:echo $PATH

进入到该目录下可以看到添加的符号链接

12、命令查找机制
当你在任何位置输入 rish 时:
1. 系统会在 PATH 环境变量列出的所有目录中查找名为 rish 的可执行文件
2. 在 $PREFIX/bin 目录中找到了 rish 符号链接
3. 系统通过符号链接找到实际的脚本文件 ~/rish/rish
4. 执行该脚本
13、喵币
有人对termux感兴趣吗,有人愿意看的话我挖一个坑:编译opencv进行图像处理到自动化游戏脚本,可能会涉及到各类编程语言