我是 Fedora 32,但我是 Linux 用户很长时间了,这是我第一次看到这样的事情。每次我尝试从任何程序使用任何安装脚本时,当我使用 sudo 启动命令时,都会出现几个 bash 错误,但对于我的普通用户,一切都很好(显然,如果没有 sudo,我会遇到几个权限问题)
举个例子,有一个名为 Guerilla Render 的渲染引擎,每次我尝试使用 sudo 使用安装脚本时,都会遇到如下问题:
[moco@moco-fedora guerillarender]$ sudo ./install
[sudo] password for moco:
./install: line 23: dirname: command not found
./install: line 25: basename: command not found
./install: line 92: grep: command not found
./install: line 92: cut: command not found
./install: line 152: id: command not found
./install: line 152: [: too many arguments
./install: line 195: cat: command not found
./install: line 198: clear: command not found
Guerilla Render Setup
Press any keys to continue
这只是一个示例,但我尝试以相同方式安装的任何其他程序都会发生这种情况。
这很奇怪,因为我已经以同样的方式安装了其他程序,一切都很顺利。有一个名为 Houdini 的程序,它是我工作的主要工具。我已经安装了它,并且现在测试了相同的安装程序,但现在它不起作用。同样的版本,以前可以用,现在就不行了。这是最近的问题
有什么想法吗?
答案1
这很可能是由运行时处于活动状态的混乱路径环境变量引起的sudo
。请检查 的输出sudo bash -c 'echo $PATH'
。它应该包含/bin
和/usr/bin
。如果没有,请确保/etc/sudoers
其中的文件/etc/sudoers.d/
包含如下所示的条目:
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"