命令显示在“哪个”下,但系统找不到它

命令显示在“哪个”下,但系统找不到它

我在计算机的一个分区上安装了 Ubuntu,现在想在第二个分区上安装 Arch Linux。我遇到了可启动 USB 问题,所以我尝试在启动 Ubuntu 后安装它,并将二进制路径添加到 $PATH,当我使用 which 命令时,我需要的 pacstrap 命令就会显示出来,但当我尝试运行它时它不起作用。我只会使用 ./pacstrap,但它需要能够找到同一目录中的其他二进制文件。

环境能够找到带有“which”的二进制文件,但在我执行它时却找不到,这是为什么呢?

john@TheBrain:/storage/part4/Software/root.x86_64/bin$ export PATH
john@TheBrain:/storage/part4/Software/root.x86_64/bin$ sudo pacstrap /mnt base base-devel
sudo: pacstrap: command not found
john@TheBrain:/storage/part4/Software/root.x86_64/bin$ which pacstrap
/storage/part4/Software/root.x86_64/bin/pacstrap
john@TheBrain:/storage/part4/Software/root.x86_64/bin$ 

答案1

这是因为您正在使用sudo,它会将您的环境重置为使用其自己的安全路径。您可以像这样告诉它使用您的正常路径:

sudo env PATH=$PATH pacstrap

相关内容