我正在尝试提出一种方式脚本来在 bash 中传递一个静默标志,以便所有输出都将被定向到/dev/null
如果它存在,如果它不存在则定向到屏幕。
我的脚本的 MWE 将是:
#!/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."
我用两个变量调用脚本,第一个无关紧要,第二个 ( $2
) 是实际的静默标志( -s
):
./myscript.sh first_variable -s
显然这些out_var
线不起作用,但它们给出了我想要的想法:一种将输出定向command1
到command2
屏幕或/dev/null
取决于-s
是否存在的方法。
我怎么能这样做?