gpt4 book ai didi

linux - 仅在 sudo 下执行 shell 脚本时找不到 lzma 命令

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:05:38 24 4
gpt4 key购买 nike

我正在 SUSE 服务器上构建项目源代码。项目 build.sh 调用“lzma”命令来压缩内核。项目 build.sh 需要“sudo”才能访问某些系统命令。但是我已经尝试执行“sudo ./build.sh”,shell总是报错:“lzma: command not found。”

我可以使用我的用户帐户在 shell 中执行“lzma”。它工作正常。我还编写了一个名为“test.sh”的测试 shell 脚本,它调用“lzma”命令。我发现如果我用 "sudo"执行 "test.sh",它会失败并显示相同的错误消息。但是如果我在没有“sudo”的情况下执行“test.sh”,它就可以正常工作。为什么?

最佳答案

sudo 中的“未找到命令”几乎总是环境变量的结果,例如 PATH、LD_LIBRARY_PATH(如果缺少的不是可执行文件,而是它需要的共享库)等改变了。

您可以通过环境变量显式传递工作值:

sudo PATH="$PATH" ./test.sh

关于linux - 仅在 sudo 下执行 shell 脚本时找不到 lzma 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42272278/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com