相关疑难解决方法(0)

使用“sudo”运行时的环境变量

作为我的问题的例子,我的~/.bashrc文件包含以下几行:

export LD_LIBRARY_PATH=/opt/intel/mkl/lib/ia32:$LD_LIBRARY_PATH
export LD_PRELOAD=/opt/intel/mkl/lib/ia32/libmkl_core.so
Run Code Online (Sandbox Code Playgroud)

这样 Numpy (Python) 就可以找到它需要运行的库,因为它是使用 MKL 和英特尔编译器构建的。这个工作流程不是最好的,但这是另一回事。

我的问题是~/.bashrc当我使用“sudo”(但不是 root)运行程序时,如何传递任意变量(如 中的变量)?

目前,如果我运行:

sudo python -c "import numpy"
Run Code Online (Sandbox Code Playgroud)

我收到一个错误:

ImportError: libimf.so: cannot open shared object file: No such file or directory*
Run Code Online (Sandbox Code Playgroud)

一些建议作为sudo -isudo -E不会改变这里的任何内容。


编辑:

我无法回答我的问题(分数不够:D)但我会在这里发表评论,希望还有其他 Linux 新手对sudo陷阱感到疑惑。

[只是暂时的!] 这对我有用(~/.bashrc):

alias sudo='sudo env PATH=$PATH VAR1=SOME_VALUE VAR2=SOME_VALUE...'
Run Code Online (Sandbox Code Playgroud)

command-line sudo environment-variables

61
推荐指数
4
解决办法
13万
查看次数

标签 统计

command-line ×1

environment-variables ×1

sudo ×1