我给出了一个保存数字的变量
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
:
将字符括在单引号中可保留引号内每个字符的字面值。