首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在FreeBSD监狱中设置全局环境vars

在FreeBSD监狱中设置全局环境vars
EN

Server Fault用户
提问于 2020-01-14 10:31:12
回答 1查看 1.3K关注 0票数 1

我需要在一个NODE_ENV=production监狱中设置一个全系统的环境变量(即FreeBSD )。

我确实尝试过将它设置在/etc/profile中,但是当我获取它的时候

代码语言:javascript
复制
root@www:/ # source /etc/profile

我得到了

代码语言:javascript
复制
export: Command not found.

它在主机系统上工作。

我还尝试将其设置为/.chsrc。但是,这只会使变量可用于根,而不是任何其他的监狱用户。

EN

回答 1

Server Fault用户

发布于 2020-01-16 09:39:56

问:“在FreeBSD监狱中设置一个全系统的环境变量。”

A:在/etc/profile/etc/csh.cshrc中都设置变量。

详细信息

引用3.9.弹壳

设置环境变量的方法因shell而异。在tcsh(1)和csh(1)中,使用setenv设置环境变量。在sh(1)和bash中,使用导出来设置当前的环境变量。

下面所有的例子都是在监狱里处决的

代码语言:javascript
复制
FreeBSD test_01.example.org 12.0-RELEASE FreeBSD 12.0-RELEASE r341666 GENERIC  i386

默认外壳的Users sh bash

/etc/profile是设置全局环境的合适位置。例如

代码语言:javascript
复制
$ cat /etc/profile
NODE_ENV=production;    export NODE_ENV

引用概况(4)

所有拥有shell sh(1)作为登录命令的用户都在这些文件中执行命令,作为登录序列的一部分。

例如,用户admin

代码语言:javascript
复制
$ grep admin /etc/passwd
admin:*:1001:1001:User &:/home/admin:/bin/sh

执行/etc/profile“作为其登录序列的一部分”,并设置环境。

代码语言:javascript
复制
$ echo $NODE_ENV
production

这个环境将同时保存在cshtcsh中。

代码语言:javascript
复制
$ csh
admin@test_01:~ % echo $NODE_ENV
production

它也将由su保存。

代码语言:javascript
复制
$ su
root@test_01:/home/admin # echo $NODE_ENV
production

exportcsh中没有tcsh命令。这就解释了错误。

代码语言:javascript
复制
$ csh
admin@test_01:~ % source /etc/profile
NODE_ENV=production: Command not found.
export: Command not found.

默认外壳的Users csh tcsh

/etc/csh.cshrc是为cshtcsh设置全局环境的正确位置。例如

代码语言:javascript
复制
root@test_01:~ # cat /etc/csh.cshrc
setenv NODE_ENV production

默认情况下,root的外壳是csh

代码语言:javascript
复制
root@test_01:~ # grep root /etc/passwd 
root:*:0:0:Charlie &:/root:/bin/csh

这将设置环境。

代码语言:javascript
复制
root@test_01:~ # echo $NODE_ENV
production
票数 2
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/998866

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档