Suppress showing commands in run output


Lets say I have the following run configuration in my config.yml:

          name: Sample
          command: |
            echo "Hello World!"

This will in the CircleCI UI result in the following output:

#!/bin/bash -eo pipefail
echo "Hello World!"

Hello World!

How can I suppress the output of echo "Hello World!"?
The shell is obviously not running with set -x and the documentation doesn’t have any info on this.
For debugging purpose its nice to have this but once everything in circle.yml is set in stone I’d like to only see the output of my build commands.
For CircleCIs own checkout command for example I see a full screen of script before the actual output of the checkout process which might interest me.


Try prefacing the run commands with set +x.

As a somewhat hacky solution, it looks like you could also pipe to tee, though this will always return with exit 0 as the error code:


set +x does not change this behaviour as laid out in my original post.

Whats happening isn’t caused by the shell but it’s CircleCI which always prints the run commands before executing them. I’m looking for a way to turn that off.

The HTML code of the GUI even has a separate tag for that:

<pre title="The full bash command used to run this setup" class="bash-command">#!/bin/bash -eo pipefail
echo "Hello World!"