mirror of
https://github.com/discourse/discourse.git
synced 2024-12-19 14:13:47 +08:00
9449a0e0ed
The output of db:migrate for a new database is 20k+ lines. We only need the output when an error occurs.
22 lines
460 B
Bash
Executable File
22 lines
460 B
Bash
Executable File
#!/bin/bash
|
|
|
|
# Run a command and write stdout/stderr to a temporary file. Print the output only if the command exits with a non-zero exit status
|
|
|
|
tmp=$(mktemp)
|
|
|
|
echo "[silence_successful_output] Running '$@' with output silenced..." >&2
|
|
|
|
("$@") 2>&1 &> "$tmp"
|
|
STATUS=$?
|
|
|
|
if (( $STATUS )) ; then
|
|
echo "[silence_successful_output] '$@' failed! Output:" >&2
|
|
cat "$tmp" >&2
|
|
else
|
|
echo "[silence_successful_output] '$@' succeeded!"
|
|
fi
|
|
|
|
rm "$tmp"
|
|
|
|
exit $STATUS
|