我想創建可以在冗長,無聲模式,如果優選地同時運行的腳本。我的想法是創建一個包含"&> /dev/null"
一個變量,如果腳本拼命地跑默默我只是將其清除。在靜音模式下工作正常,但如果我想通過這個作爲最後一個「說法」的東西(見我的例子向下)這是行不通的。重定向STDOUT由變量在擊
下面是一個例子: 我想zip
東西(我知道有一個-q
選項,這個問題更像theorethical),如果我寫這篇文章它的作品,因爲我打算:
$ zip bar.zip foo
adding: foo (stored 0%)
$ zip bar.zip foo &> /dev/null
$
但當我宣佈&> /dev/null
作爲一個變量,我得到這樣的:
$ var="&> /dev/null"
$ zip bar.zip foo "$var"
zip warning: name not matched: &> /dev/null
updating: foo (stored 0%)
我看到其他的解決方案,通過重定向意向劇本的部分,但我很好奇,如果我的想法可以工作,如果沒有,W不是嗎? 這將是更方便地使用這樣的事情在我的劇本,因爲我只需要重定向一些線條或命令,但過多地與if
圍繞每個:
我想這樣的事情是明確的:
if verbose
verbose="&> /dev/null"
else
verbose=
command1 $1 $2
command2 $1
command3 $1 $2 $3 "$verbose"
command4
使用eval:'eval zip bar.zip foo「$ var」'。如果 – pynexj
或使用的語句:'如果條件;然後命令; else命令>&/ dev/null; fi' – pynexj
正如上面和下面提到的,我不想用'if's來包圍所有的東西,並且'eval'是不鼓勵的。 – Wax