2013-06-12 46 views
0

如果我有一個腳本,比如下面的腳本,我定義了一個在CMD_VAR中運行的命令,一個變量,如何讓它在相同的bash腳本中執行?如何在bash中的變量中執行命令?

我這樣做是因爲我想將CMD_VAR記錄到文件中。

謝謝!

#!/bin/sh 
CMD_VAR="echo hello world >> somelogfile" 
+1

參見[BashFAQ#50:我想在一個變量把一個命令,但是複雜的情況下總是失敗(http://mywiki.wooledge.org/BashFAQ/050) –

+0

可能重複[在Linux中如何在變量中存儲命令?](http://stackoverflow.com/questions/5615717/how-to-store-a-command-in-a-variable-in-linux) –

回答

4

一般來說,你不應該在一個變量中存儲重定向。你應該將命令存儲在一個數組中。

cmd=(echo "hello world") 
log="somelogfile" 
"${cmd[@]}" >> "$log" 
+0

什麼是[@]是否在這裏? – chuacw

+0

http://tldp.org/LDP/abs/html/arrays.html –