我正在编写使用chef-solo安装jsk的练习方法,我需要更新.bashrc文件来设置JAVA_HOME
和PATH
个变量。我不知道怎么做。任何人都可以告诉我该怎么做。
我的一些代码是..
file "/home/user/.bashrc" do
owner "root"
#something goes here.... i don't know what. but i write
#%{bash -i -c "source /etc/bash/bashrc && bashrc update"}
content "JAVA_HOME=/usr/java/jdk1.1.0.05"
content "PATH=$PATH:JAVA_HOME/bin"
end
我不明白command
%{bash -i -c“source / etc / bash / bashrc&& bashrc update”}是什么意思。感谢
答案 0 :(得分:4)
首先,/etc/skel/
是创建新用户时复制的目录。更改bashrc不会影响您现有的用户,所以您可能想要更改其他文件?
其次,注释掉的命令启动一个新的bash shell,并在该shell中发送/etc/bash/bashrc
(重新加载),然后执行bashrc update
。我不知道那是什么,它可能是你机器上的shell脚本?
你为什么要打电话呢?它甚至不会引用您更改的文件。
第三,你拨打content
两次,这意味着只有第二行会在该档案中。
您可能想要做的是:
创建一个文件files/default/bashrc
并将整个bashrc(包括Java行)复制到那里
将上面的代码替换为:
file "/home/whateveruseryouwant/.bashrc" do
owner "whateveruseryouwant"
group "whateveruseryouwant"
source "bashrc"
end