运行 action/script 在 "bazel run" returns 执行二进制文件之后

Run action/script AFTER the binary executed by "bazel run" returns

我想知道是否有办法 运行 一个动作或脚本或程序 一个 bazel run 命令完成后。 运行在 script/program 之前 bazel 运行(在某种程度上)可能通过 --run_under.

这是一个示例用例:

  1. bazel run //path/to/my:target
  2. 运行ning target 在它的 cwd 中生成一个输出文件 out(在 bazel .cache 目录中的某处)
  3. 运行 使用输出文件的脚本 out

如果之后无法获得 运行 那个脚本,有没有办法获得刚刚 运行 的二进制文件的 cwd?然后也可以在没有 bazel 的情况下从“外部”访问 out

--run_under 是正确的做法。您可以简单地 运行 脚本中的命令 运行 将作为参数传递给您的脚本的内容传递给 --run_under 例如

#!/bin/bash

set -euo pipefail

./prefix_command

bash "$@"

./postfix_command