gpt4 book ai didi

ruby - 使用 Chef Recipe 更新 .bashrc

转载 作者:数据小太阳 更新时间:2023-10-29 07:17:07 24 4
gpt4 key购买 nike

我正在编写使用 chef-solo 安装 jsk 的练习方法,我需要更新 .bashrc 文件以设置 JAVA_HOMEPATH 变量。我不知道该怎么做。谁能告诉我该怎么做。我的一些代码是..

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

我不明白命令%{bash -i -c "source/etc/bash/bashrc && bashrc update"}是什么意思。谢谢

最佳答案

首先,/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

关于ruby - 使用 Chef Recipe 更新 .bashrc,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12054312/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com