鉴于以下主厨烹饪书摘要:
bash "source a file" do
user "someUser"
cwd "/tmp"
code <<-EOH
source /tmp/test.sh
EOH
end
Run Code Online (Sandbox Code Playgroud)
其中/tmp/test.sh包含:
echo $USER >> /tmp/out.log
Run Code Online (Sandbox Code Playgroud)
/tmp/out.log然后包含"root"而不是"someUser"
这给我带来了问题,因为我需要所有source和bash命令作为someUser运行.
Kyl*_*ley 17
我必须通过Chef学习一些困难的方法:它实际上可能以用户身份运行,但环境变量未设置.
要亲眼看看,请运行
echo `whoami`
Run Code Online (Sandbox Code Playgroud)
如果您需要设置环境变量,只需设置它们(或源a .bash_profile):
bash "source a file" do
user "someUser"
cwd "/tmp"
environment ({'HOME' => '/home/someUser', 'USER' => 'someUser'})
code <<-EOH
source /tmp/test.sh
EOH
end
Run Code Online (Sandbox Code Playgroud)
作为旁注,您是否创建了用户?
| 归档时间: |
|
| 查看次数: |
2783 次 |
| 最近记录: |