你这个问题比较简略,我帮你梳理一下在 Debian 里“找不到 env”常见的几种情况和原因,你可以对照看看是哪一种。
env 不存在?正常情况下,Debian 一定自带 env,它属于:
coreutils
如果执行:
which env
提示:
env not found
可能原因:
最常见原因。
检查:
echo $PATH
正常至少应有:
/usr/bin:/bin
而 env 通常在:
/usr/bin/env
临时修复:
export PATH=/usr/bin:/bin:/usr/sbin:/sbin:$PATH
再试:
/usr/bin/env
有些 Docker 基础镜像、最小化系统 会删掉 coreutils 的一部分。
解决:
apt update
apt install coreutils
sh 而非 bash在某些 shell 下:
env
可能表现不同,但不会“找不到”。
确认 shell:
echo $0
env 命令?有时用户实际意思是:
我设置了环境变量,但程序读不到
常见原因:
.bashrc 只对交互 shell 生效cron / systemd 看不到解决:
/etc/environment
/etc/systemd/system/env.conf
env 找不到?比如:
#!/usr/bin/env python3
报错:
/usr/bin/env: python3: No such file or directory
这是 python3 没装或不在 PATH:
which python3
apt install python3
有些恢复环境 PATH 是空的:
export PATH=/usr/bin:/bin
ls -l /usr/bin/env
echo $PATH
which env
如果你能补充一下:
我可以更精准地帮你定位。