如何在获取日期表达式中插入变量?

如何在获取日期表达式中插入变量?

我给出了一个保存数字的变量

daysAgo=1

我想在获取日期表达式中扩展此变量。像这样:

$(date +%d -d '$daysAgo days ago')

我需要做什么才能扩展 $daysAgo 变量?

我这样尝试但没有成功:

daysAgo=1
exp="'${daysAgo} days ago'"
$(date +%d -d $exp)

答案1

只需使用, 不是'。双引号允许在引号内扩展变量,单引号则不允许。

daysAgo=1
echo $(date +%d -d "$daysAgo day ago")
06

daysAgo=1
exp="$daysAgo days ago"
echo $(date +%d -d "$exp")
06

答案2

您需要使用"而不是'.从man bash

将字符括在单引号中可保留引号内每个字符的字面值。

相关内容