Como inserir uma variável na expressão de data de obtenção?

1

Eu dei uma variável que contém um número

daysAgo=1

Eu gostaria de expandir essa variável em uma expressão de data de obtenção. Assim:

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

O que eu preciso fazer para que a variável $ daysAgo seja expandida?

Eu tentei assim sem sucesso:

daysAgo=1
exp="'${daysAgo} days ago'"
$(date +%d -d $exp)
    
por Bruno Bieri 07.11.2016 / 10:55

2 respostas

1

Use ", não '. As aspas duplas permitem a expansão de variáveis entre aspas e aspas simples não.

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

daysAgo=1
exp="$daysAgo days ago"
echo $(date +%d -d "$exp")
06
    
por 07.11.2016 / 11:05
1

Você precisa usar " em vez de ' . De man bash :

Enclosing characters in single quotes preserves the literal value of each character within the quotes.

    
por 07.11.2016 / 11:02