![](/img/trans.png)
[英]command substitution in shell script with shell variables within the substitution
[英]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.