Shell脚本命令替换为多个命令

时间:2018-08-12 11:08:20

标签: shell

我正在开发一个shell脚本,其中由于命令替换而使变量RUN。

类似这样的东西:

RUN="$(kubectl logs ${POD_LISTENER} | grep ${FROM_DATE})"
OUTPUT=$(eval $RUN)

问题在于grep部分。

我使用grep搜索的模式是一个日期,因此我需要在变量${FROM_DATE}周围添加单引号以完全匹配我的需求。

在终端上,我运行以下命令并获得所需的结果

kubectl logs cortex-listener-prod-6b8884d45b-mlmzz | grep '2018-08-11'

它运行良好,但是我无法使其从脚本中运行。

1 个答案:

答案 0 :(得分:0)

我不明白,为什么需要引用FROM_DATE,因为此字符串仅包含数字和连字符,并且在POSIX shell中都不将其视为文件名字符。但是,您的外部双引号没有任何意义。只需使用

RUN=$(kubectl logs $POD_LISTENER | grep $FROM_DATE)