.bazelrc 中的用户名

User name in .bazelrc

我想将它添加到我的 .bazelrc,但是 $(whoami) 不会像在 shell 中那样展开。

startup --output_user_root=/tmp/bazel/out/$(whoami)                                                                                                                             

它产生文字结果:

/tmp/bazel/out/$(whoami)/faedb999bdce730c9c495251de1ca1a4/execroot/__main__/bazel-out/

有没有办法做我想做的事:在 .bashrc 文件中的选项中添加一个 name/hash?

编辑:我真正想要的是在不使用环境变量的情况下将 outputRoot 设置为 /tmp/bazel/out,并让 bazel 在那里创建它的用户和工作区哈希目录。

您可以 运行 从包装脚本中使用 Bazel。事实上,这正是 bazel 二进制文件的含义(至少在 Linux 上):它是一个调用 bazel-real 的包装脚本。您可以根据需要编辑此包装器脚本,或将其重命名为 bazel.sh 并编写您自己的包装器。

/usr/bin/bazel 是一个脚本,用于查找 //tools/bazel,如果存在,则调用它。否则,它调用 bazel-real。这使您可以将 Bazel 检查到您的存储库中,或者以其他方式修改它的调用方式。我们用它来下载特定版本的 bazel,解压它,然后调用它。

我建议创建 //tools/bazel,然后让其进行修改。然后它可以调用 bazel 的版本,或者调用 bazel-real。这使您的修改保留在您的存储库本地而不是全局。