【问题标题】:Bash variable expansion in command [duplicate]命令中的Bash变量扩展[重复]
【发布时间】:2013-09-29 06:37:43
【问题描述】:
DATE="1 week ago"
date --date='$DATE'

不起作用。我怎样才能让它工作?

我能做到:

DATE_CMD="date --date='$DATE'"
eval $DATE_CMD

但我不想将整个命令存储在变量中。

【问题讨论】:

    标签: bash


    【解决方案1】:

    你是报价扩展的受害者。

    正确的调用可能是:

    DATE='1 week ago'
    date --date="$DATE"
    

    (注意双引号)

    【讨论】:

    • 哇!这是我收到的最快的解决方案!因为我必须等待 11 分钟(显然),所以甚至不能接受你的回答。
    【解决方案2】:

    你只需要使用双引号来启用字符串插值:

    date --date="$date"
    

    【讨论】:

    猜你喜欢
    • 2014-01-28
    • 1970-01-01
    • 2016-07-20
    • 2013-11-30
    • 1970-01-01
    • 1970-01-01
    • 2018-08-22
    • 2015-11-13
    • 1970-01-01
    相关资源
    最近更新 更多