簡體   English   中英

Shell腳本命令替換為多個命令

[英]Shell script command substitution with multiple commands

我正在開發一個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)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM