2016-11-20 130 views
1

我试图使用盐来设置我的开发环境,以便它可以等同于我登台环境。我需要做的一件事就是将一些环境变量添加到当前用户的.bashrc文件中。SaltStack:获取登录的用户名

我现在有这在我的.sls文件:

/home/fred/.bashrc: 
    file.append: 
    - text: 
     - export GOROOT=/usr/local/go 
     - export GOPATH=/home/fred/dev/go 
     - export PATH=$GOPATH/bin:$GOROOT/bin:$PATH 

然后我用的盐调用根下本地运行状态(因为有我需要的根其他的东西)。但这并不理想,如果你的名字不是fred。我怎样才能重写这个文件,以便它即使在根目录下运行salt-call时也能为当前用户工作?

好像我可以得到机器的名称,所以如果机器名称是类似username-dev的东西,我能否以某种方式解析并用新用户名替换fred的所有实例?有没有更好的办法?

回答

2

此方法将使您能够每次提交不同的用户名。我认为你没有一个特定的用户列表

/home/{{ pillar.newuser }}/.bashrc: 
    file.append: 
    - text: 
     - export GOROOT=/usr/local/go 
     - export GOPATH=/home/fred/dev/go 
     - export PATH=$GOPATH/bin:$GOROOT/bin:$PATH 

命令行:

salt-call state.sls golang_env pillar='{"newuser": "fred"}' 

但是,如果你有一个特定的用户列表,那么你可以按照this method如在文档中提到