google-cloud-platform - 为什么我在 Dataproc 上的初始化操作脚本无法设置环境变量?
问题描述
我正在尝试设置一个包含 Dataproc 集群的存储桶的环境变量。基本上,我将这些行添加到我的初始化操作脚本中:
BUCKET=$(/usr/share/google/get_metadata_value attributes/dataproc-bucket)
cat << 'EOF' >> ~/.bashrc
export BUCKET=${BUCKET}
EOF
source /root/.bashrc
但是,当我 ssh 进入 master 以检查此行是否已添加到 bashrc 文件中时,我找不到任何东西。你能告诉我我做错了什么或者你会如何解决这个问题?谢谢。
解决方案
经过多次试验,我首先注意到,我正在操纵不同的路径,即$HOME
和/root/
. 然后.bashrc
文件出现在两个路径下,最终代码片段如下所示:
BUCKET=$(/usr/share/google/get_metadata_value attributes/dataproc-bucket)
echo "export BUCKET=${BUCKET}" | tee -a $HOME/.bashrc
source $HOME/.bashrc
如果您有任何其他意见,请不要犹豫。
推荐阅读
- symfony - 具有 MEMBER OF 和空参数的 Doctrine querybuilder
- typescript - 打字稿在其键之一中从对象推断信息
- android-fragments - 如何将自定义侦听器从 Fragment 传递到 MVVM 中的 VM?
- python - 将大文件传递给 Celery 进行处理不起作用
- javascript - stripe.redirectToCheckout:您必须提供 lineItems、items 或 sessionId 之一
- winforms - 如何在 Rider ide 2020.1.2 中刷新 Winforms 自定义控件
- c - 如何改进 strspn 的实现
- intellij-idea - 在 PhpStorm/IntelliJ 中替换/封装文本的宏?
- javascript - 如何创建动态构造函数名称
- css - 如何创建包含徽标的简单标题栏,并保留徽标的纵横比?