Peroblème d'espace sur $date inférieure à 10

Résolu
Bonjour,

J'ai un problème sur un petit script, ce script fait une recherche par date d'hier dont le format est comme suit: TZ=CST+24 date +%a" "%h" "%e
L'output doit être par exemple comme:
- Tue May 9 si aujourd'hui est le 10/05/2012 (deux espaces entre May et 9) (ici aussi l'un espace est perdu)
- Mon May 10 si aujourd'hui est le 11/05/2012 (un seul espace entre May et 10)

Le problème c'est qu' on perd un espace pour les date inférieures à 10 quand on fait la recherche par $date1 dans le script (Aucun problème pour les date >= 10)

Pourriez-vous m'aider svp?

NB: - quand on exécute directement la commande TZ=CST+24 date +%a" "%h" "%e dans le serveur, on obtient très bien les deux espaces entre Mois et Jour (1 à 9)
-mais quand on met dans un script et faire une recherche par $date1 ou echo 'TZ=CST+24 date +%a" "%h" "%e' on n'obtient qu'un seul espace.

3 réponses

  1. Contributeur
    hello
    afficher toujours 2 caractères
    $ date +%a" "%h" "%0e 
    Sat May 05
    $ 
    0
    1. Contributeur
      Salut,

      mais quand on met dans un script et faire une recherche par $date1 ou echo 'TZ=CST+24 date +%a" "%h" "%e' on n'obtient qu'un seul espace.
      Parce qu'il faut quoter ta variable dans ton script !

      $ cat foo.sh 
      #! /bin/bash
      
      A=$(date '+%a %h %e')
      
      echo $A
      echo "${A}"
      
      $ ./foo.sh 
      sam. mai 5
      sam. mai  5
      
      $

      ;-))
      0
      1. Bonsoir à tous,

        Un grand merci à zipe31 car j'ai essayé de quoter la variable et ça marche très bien.

        Encore merci de votre aide.
        0