在 Debian(以及大多数 Linux 发行版)里,“env 丢失”通常不是真的 env 命令被删了,而是环境本身或 PATH 出了问题。下面按常见原因和现象来解释。
env 命令本身“找不到”典型报错:
bash: env: command not found
PATH 被破坏
env 在 /usr/bin/env/usr/bin,就会找不到echo $PATH
正常应包含:
/usr/local/bin:/usr/bin:/bin
在最小系统 / chroot / 容器里
coreutilsls -l /usr/bin/env
误删或文件系统损坏
dpkg -S /usr/bin/env
属于 coreutils
比如:
sudo 后变量没了JAVA_HOME、PATH 没了非登录非交互 shell
/etc/environment~/.bashrc~/.profilesudo 默认清空环境
sudo env
对比:
sudo -E env
systemd 服务不继承 shell 环境
Environment=KEY=value
/bin 是 /usr/bin 的符号链接(usrmerge)/etc/environment/etc/profile~/.profile~/.bashrc(仅交互)which env
echo $PATH
ls -l /usr/bin/env
dpkg -l coreutils
export PATH=/usr/bin:/bin:$PATH
或重新安装:
apt install --reinstall coreutils
如果你能具体说:
我可以给你更精确的修复方案。