в новинку для удара нуждаются в помощи со сценарием дат

Я изучаю сценарии удара и потребность стать последним 30 дней с этого времени.

Я знаю, что это - немой сценарий, но так или иначе я пропускаю что-то.

Я должен отобразить прошлые 30 дней, вот то, как я делаю это:

#!/bin/bash


for ((i=0 ; i <= 30; i++))
do

z=`date --date='-i day'|awk '{print $2,$3}'`;

echo $z;

done
3
задан 16 November 2016 в 17:01

1 ответ

Вы работаете date --date='-i day', но Вы хотите использовать Ваш $i переменная. Также необходимо удвоиться и не одинарные кавычки, чтобы удостовериться, что cariable расширено. Попробуйте это вместо этого:

#!/bin/bash
for ((i=0 ; i <= 30; i++))
do
    z=`date --date="-$i day"|awk '{print $2,$3}'`;
    echo "$z";
done

И, так как Вы учитесь, вот более простой путь:

$ for i in {0..30}; do date -d "-$i days" +'%b %d'; done
Nov 16
Nov 15
Nov 14
Nov 13
Nov 12
Nov 11
Nov 10
Nov 09
Nov 08
Nov 07
Nov 06
Nov 05
Nov 04
Nov 03
Nov 02
Nov 01
Oct 31
Oct 30
Oct 29
Oct 28
Oct 27
Oct 26
Oct 25
Oct 24
Oct 23
Oct 22
Oct 21
Oct 20
Oct 19
Oct 18
Oct 17
4
ответ дан 1 December 2019 в 15:53

Другие вопросы по тегам:

Похожие вопросы: