I'm trying to come up with a way script to pass a silent flag in a bash so that all output will be directed to /dev/null
if it is present and to the screen if it is not.
An MWE of my script would be:
#!/bin/bash
# Check if silent flag is on.
if [ $2 = "-s" ]; then
echo "Silent mode."
# Non-working line.
out_var = "to screen"
else
echo $1
# Non-working line.
out_var = "/dev/null"
fi
command1 > out_var
command2 > out_var
echo "End."
I call the script with two variables, the first one is irrelevant and the second one ($2
) is the actual silent flag (-s
):
./myscript.sh first_variable -s
Obviously the out_var
lines don't work, but they give an idea of what I want: a way to direct the output of command1
and command2
to either the screen or to /dev/null
depending on -s
being present or not.
How could I do this?