终端命令找不到——PATH、alias 和环境变量问题
表现
- 输入
ls说 command not found git clone说找不到 gitapt update说找不到 aptecho $PATH输出不包含/data/data/com.termux/files/usr/bin
排查顺序
1. 先跑 pkg update
如果刚装完 ZeroTermux 还没运行过 pkg update / pkg upgrade:
pkg update
pkg upgrade
这会刷新包索引,部分命令(如 git、curl)需要手动安装,但基础命令(bash、ls、cd、apt)应该是 Bootstrap 自带的。
2. 确认 PATH
echo $PATH
正确的 PATH 应该包含:
/data/data/com.termux/files/usr/bin
如果不包含:
export PATH=/data/data/com.termux/files/usr/bin:$PATH
要永久生效就加到 ~/.bashrc:
echo 'export PATH=/data/data/com.termux/files/usr/bin:$PATH' >> ~/.bashrc
source ~/.bashrc
3. 检查 .bashrc 有没有写坏
如果你之前改过 .bashrc 或启动脚本 start_command.sh,可能写错了语法导致 PATH 被覆盖或清空。
用 nano 打开检查:
nano ~/.bashrc
重点看:
- 有没有多余的
PATH=把正确的 PATH 覆盖掉了 - 有没有语法错误(比如引号没配对、if/fi 不闭合)
- 有没有
export PATH=后面接了空值
alias 覆盖
有时你定义了 alias 把系统命令覆盖了:
# 检查 alias
alias | grep ls
# 如果有 alias ls='xxx',unalias ls 取消
unalias ls
发行版里的 PATH
如果你在发行版(proot)里遇到 PATH 问题,那是发行版自己的 PATH,和 ZeroTermux 原生的无关。发行版里用它自己的包管理器(apt/pacman 等)装软件。
终极恢复
如果折腾了半天还是乱,容器还没什么重要数据的话:
- 新建容器(常用功能 → 容器切换 → 新建)
- 在新容器里跑
pkg update - 新容器正常的话说明旧容器的 PATH/配置确实坏了,旧容器可以删掉重来