New option -quiet for all commands
diff --git a/org.jacoco.cli.test/src/org/jacoco/cli/internal/MainTest.java b/org.jacoco.cli.test/src/org/jacoco/cli/internal/MainTest.java
index aa949cf..b60780c 100644
--- a/org.jacoco.cli.test/src/org/jacoco/cli/internal/MainTest.java
+++ b/org.jacoco.cli.test/src/org/jacoco/cli/internal/MainTest.java
@@ -64,4 +64,14 @@
 				out);
 	}
 
+	@Test
+	public void should_not_print_any_output_when_quiet_option_is_given()
+			throws Exception {
+		execute("version", "-quiet");
+
+		assertOk();
+		assertNoOutput(out);
+		assertNoOutput(err);
+	}
+
 }
diff --git a/org.jacoco.cli/src/org/jacoco/cli/internal/Command.java b/org.jacoco.cli/src/org/jacoco/cli/internal/Command.java
index 5e83b8b..06a6cea 100644
--- a/org.jacoco.cli/src/org/jacoco/cli/internal/Command.java
+++ b/org.jacoco.cli/src/org/jacoco/cli/internal/Command.java
@@ -33,6 +33,12 @@
 	public boolean help = false;
 
 	/**
+	 * Flag whether output to stdout should be suppressed.
+	 */
+	@Option(name = "-quiet", usage = "suppress all output on stdout")
+	public boolean quiet = false;
+
+	/**
 	 * @return Short description of the command.
 	 */
 	public abstract String description();
diff --git a/org.jacoco.cli/src/org/jacoco/cli/internal/Main.java b/org.jacoco.cli/src/org/jacoco/cli/internal/Main.java
index 50c9621..8c6f3be 100644
--- a/org.jacoco.cli/src/org/jacoco/cli/internal/Main.java
+++ b/org.jacoco.cli/src/org/jacoco/cli/internal/Main.java
@@ -11,7 +11,9 @@
  *******************************************************************************/
 package org.jacoco.cli.internal;
 
+import java.io.IOException;
 import java.io.PrintWriter;
+import java.io.Writer;
 
 import org.kohsuke.args4j.Argument;
 import org.kohsuke.args4j.CmdLineException;
@@ -21,6 +23,22 @@
  */
 public class Main extends Command {
 
+	private static final PrintWriter NUL = new PrintWriter(new Writer() {
+
+		@Override
+		public void write(final char[] arg0, final int arg1, final int arg2)
+				throws IOException {
+		}
+
+		@Override
+		public void flush() throws IOException {
+		}
+
+		@Override
+		public void close() throws IOException {
+		}
+	});
+
 	private final String[] args;
 
 	Main(final String... args) {
@@ -41,7 +59,7 @@
 	}
 
 	@Override
-	public int execute(final PrintWriter out, final PrintWriter err)
+	public int execute(PrintWriter out, final PrintWriter err)
 			throws Exception {
 
 		final CommandParser mainParser = new CommandParser(this);
@@ -57,12 +75,18 @@
 		if (help) {
 			printHelp(out);
 			return 0;
-		} else if (command.help) {
+		}
+
+		if (command.help) {
 			command.printHelp(out);
 			return 0;
-		} else {
-			return command.execute(out, err);
 		}
+
+		if (command.quiet) {
+			out = NUL;
+		}
+
+		return command.execute(out, err);
 	}
 
 	/**