3 votes

nouveau à bash besoin d'aide avec script de dates

Je suis en train d'apprendre le script bash et j'ai besoin d'obtenir les 30 derniers jours à partir de maintenant.

Je sais que c'est un bête script mais quelque chose m'échappe.

J'ai besoin d'afficher les 30 derniers jours, voici comment je procède :

#!/bin/bash

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

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

echo $z;

done

4voto

Stewart Points 1385

Vous êtes en cours d'exécution date --date='-i day' mais vous souhaitez utiliser votre $i variable. Vous avez également besoin de guillemets doubles et non simples, pour vous assurer que la variable est développée. Essayez plutôt ceci :

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

Et puisque vous êtes en train d'apprendre, voici une méthode plus simple :

$ 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

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X