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.
A voir également:

3 réponses

dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
hello
afficher toujours 2 caractères
$ date +%a" "%h" "%0e 
Sat May 05
$ 
0
zipe31 Messages postés 36402 Date d'inscription   Statut Contributeur Dernière intervention   6 430
 
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
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