2012-08-09 36 views
5

比方說,有一個bash的變量如何執行存儲在一個bash的變量兩個命令

RUN1 = 「日期」

我需要

$執行date {run1}

它的工作,因爲它pri當前時間。但是,如果我把在可變兩個命令,

RUN2 = 「日期;回波foo」 的

我不能執行存儲在變量run2的命令,由於${run2}抱怨

;:找不到命令

日期

回答

5

嘗試:

eval ${run2} 

這應該有所幫助。

+0

它的工作原理...也許我很好奇,但你能解釋爲什麼它適用於''run1''但不適用於''run2'' ... – Richard 2012-08-09 17:53:36

+1

因爲它被引用,分號是除去引號後的第一個單詞,不是用於分隔兩個命令的語法元素。 – chepner 2012-08-09 18:02:03

2

嘗試eval "${run2}"。這將把該變量解釋爲一系列要運行的命令。

相關問題