只将terraform plan的结果默默地自动保存到日志中

我希望将计划的结果保存在日志中。
通过在 .bashrc 文件中编写以下命令,可以将计划/应用时的标准输出强制保存到日志中。

terraform() {
  PLAN_FILE="/tmp/tfplan_$(date +%Y%m%d).log"

  if [ "$1" = 'plan' ] || [ "$1" = 'apply' ]; then
    date --iso-8601=seconds >> $PLAN_FILE
    command terraform "$@" -no-color | tee -a $PLAN_FILE
    echo -e "\n\n" >> $PLAN_FILE
  else
    command terraform "$@"
  fi
}
export -f terraform
2023-09-01T15:04:05+09:00
module.foo.data.archive_file.this: Reading...
module.bar.archive_prepare[0]: Reading...
   :

课题

    • plan/apply 時にターミナルに表示されるテキストのカラーがなくなる

オプションの -no-color を外せば色が付くが、ログファイルにエスケープシーケンスが表示されるようになってしまう

Makefile など特殊なシェルで実行される場合は .bashrc を読まないので効かなくなる

广告
将在 10 秒后关闭
bannerAds