使用“导出”命令时遇到问题

Dad*_*ady 16 environment-variables

当我输入 sudo "export PROXY_LOCAL_NET_IP=10.113.35.108" 时,出现以下错误:

sudo: export: command not found
Run Code Online (Sandbox Code Playgroud)

我应该怎么做才能解决这个问题?

Ben*_*oit 13

您不能将 shell 内置函数与sudo. 只有与有效文件对应的命令才会通过sudo. sudo 的正确语法是:sudo [options] [filename]

导出是 Bash shell 的内部(内置)命令,也可能是其他一些命令。

另请注意,执行exportvia的操作是没有意义的sudo,它必须在您的用户 ID 下完成才能适用于您的 shell 及其子进程。

如果您切换到 root 用户执行此操作,则必须以 root 身份执行其余操作:不建议这样做。因为如果退出root shell,完成的赋值export就会丢失。


pro*_*201 8

使用sudo -s您的密码成为 root 用户。
然后在没有 sudo 的情况下输入您的命令:export PROXY_LOCAL_NET_IP=10.113.35.108`


小智 8

您可以使用 sudo -E 选项在 sudo 命令中使用导出的变量

下面的stackoverflow 问题有一些关于如何在 sudo 中使用环境变量的额外细节