How to see echo results in .command.out to debug a pipeline?

I have a pipeline where I’m using a docker container. For some reason, my process seems to be unable to find my input files, passed in as paths. I want to see whether those files are accessible in the docker container correctly (these are external files that should be mounted). They appear to be in work/ folder for the process. I tried adding something in like

if ! [ -f $pipeline ]; then
    echo " $pipeline File does not exist."
fi

    if test -f $pipeline; then
    echo "File exists."
    fi

But when I look at .command.out, the file is blank, even though this is before the call to my program that is failing. Where would this echo print to?

What you’re echoing should go in the .command.out, for both conditional expressions, even if you’re running Docker. One thing you can try is to turn on debug in your process so that what you echo appears in the standard output (your screen). Something like:

process FOO {
  debug true

  ...
}

This way, you know it’s being echoed and you just need to find out where. Otherwise, the script block is not being run, probably because it fails before this process instance is actually run.

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.