2012-08-09 34 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}"。这将把该变量解释为一系列要运行的命令。

相关问题