我正在开发一个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'
它运行良好,但我无法让它从脚本中运行。
我不明白为什么你需要引用你的FROM_DATE,因为这个字符串只包含数字和连字符,并且在 POSIX shell 中都没有被视为文件名字符。但是,您的外部双引号没有意义。只需使用
RUN=$(kubectl logs $POD_LISTENER | grep $FROM_DATE)