我想要一個方式腳本來通過沉默標誌在一個bash中,以便所有輸出將被定向到/dev/null
,如果它存在如果不是,則返回到屏幕。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
和輸出根據-s
是否存在與屏幕或/dev/null
。
我該怎麼做?
大約有'='殼任務沒有空格。假設你想要默認的標準輸出位置,如果你用'/ dev/stdout'替換''screen''並在重定向中使用'$ out_var',我相信你的腳本應該可以正常工作。 – 2014-09-03 02:21:30
http://www.tldp.org/LDP/abs/html/io-redirection.html也是有趣的閱讀。 – 2014-09-03 02:30:29
大提示@EtanReisner! – Gabriel 2014-09-03 11:43:02