You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将Molecule的stdout与stderr输出重定向至文件?

解决Molecule日志重定向时误将日志文件当作Playbook参数的问题

你的命令语法有误,2>&1后直接跟test.log的写法不符合shell重定向规则,导致shell把test.log当作Molecule的命令参数传递,而非日志输出目标,所以Molecule会误认为这是要执行的Ansible Playbook文件,进而抛出找不到文件的错误。

正确的日志重定向命令有两种写法:

  • 标准POSIX兼容写法(适用于所有shell):

    molecule test -s default > test.log 2>&1
    

    若需要追加日志而非覆盖文件,改用:

    molecule test -s default >> test.log 2>&1
    
  • Bash/Zsh简化写法(更简洁):

    molecule test -s default &> test.log
    

    追加日志的话用:

    molecule test -s default &>> test.log
    

原理说明:

  • > test.log 将标准输出(stdout)重定向到test.log文件
  • 2>&1 将标准错误(stderr)重定向到与标准输出相同的位置(即test.log)
  • &> 是Bash对> file 2>&1的简化写法,一次性将stdout和stderr都重定向到目标文件

内容的提问来源于stack exchange,提问作者oschlueter

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 13:21:14