我尝试在 RedHat 中使用/etc/environment
.
它清除了我的PATH
变量;之后没有识别出任何命令。
为什么会发生这种情况,因为只需在 shell 中执行相同的命令就可以正常工作?!
我的内容/etc/environment
:
ORACLE_HOME=/usr/lib/oracle/12.1/client64
PATH=$ORACLE_HOME/bin:$PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib
Run Code Online (Sandbox Code Playgroud) 在我们的 CentOS 服务器中,env 变量NODE_OPTIONS
被设置为错误的值。我检查了一些可能的文件,例如 /etc/environment、/etc/profile,但没有运气。我也尝试从 /etc/ 中 grep 它,但仍然没有运气。这让我心烦意乱。
我什至试过这个:https : //unix.stackexchange.com/a/154971/92712
惊讶地发现输出中没有这样的变量。但它在
printenv NODE_OPTIONS
set | grep NODE_OPTIONS
echo $NODE_OPTIONS
Run Code Online (Sandbox Code Playgroud)
(外壳是bash)
有没有办法进入这个 NODE_OPTIONS 来自哪个文件?
更多信息:
$ node -v
node: invalid value for NODE_OPTIONS (unterminated string)
$ echo $NODE_OPTIONS
--max-old-space-size=5120"
$ cat /etc/environment
export NODE_OPTIONS="--max-old-space-size=5120"
Run Code Online (Sandbox Code Playgroud)
更新:
谢谢@ilkkachu
$ declare -p NODE_OPTIONS
declare -x NODE_OPTIONS="--max-old-space-size=5120\" "
Run Code Online (Sandbox Code Playgroud)
更新 2:额外的双引号也出现在env
输出中:
$ env
NODE_OPTIONS=--max-old-space-size=5120"
Run Code Online (Sandbox Code Playgroud)
更新 3:谢谢@Johan Myréen
$ od -c /etc/environment
0000000 \n e x p o r t …
Run Code Online (Sandbox Code Playgroud)