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

Résolu/Fermé
Jean Bôlida - 5 mai 2012 à 06:26
 Jean Bôlida - 5 mai 2012 à 20:26
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 18758 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 24 décembre 2024 5 623
5 mai 2012 à 07:58
hello
afficher toujours 2 caractères
$ date +%a" "%h" "%0e 
Sat May 05
$ 
0
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 419
5 mai 2012 à 10:02
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
5 mai 2012 à 20:26
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