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

Résolu
Jean Bôlida -  
 Jean Bôlida -
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. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 659
     
    hello
    afficher toujours 2 caractères
    $ date +%a" "%h" "%0e 
    Sat May 05
    $ 
    0
  2. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
     
    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
  3. Jean Bôlida
     
    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