Koozali.org: home of the SME Server

Script, DATE & TIME...

Offline STRyk

  • ****
  • 190
  • +0/-0
Script, DATE & TIME...
« on: February 20, 2017, 09:20:27 AM »
Coucou ;)
J'ai un problème depuis des années et j'aimerai comprendre comment le résoudre.
C'est sans doute idiot pour certains mais je n'ai jamais trouvé la solution.
Dans mes (modestes) scripts j'aimerai avoir des choses comme :
"Sauvegardé le 2017-02-20 à 09h00m00s"
ET
"Sauvegarde_fichier_2017-02-20_09h00m00s.txt"

Donc j'utilise tout simplement ceci :
Code: [Select]
DATE=$(date +%Y-%m-%d)
 TIME=$(date +%Hh%Mm%Ss)

Avec un tiret négatif ca marche sans problème :
Code: [Select]
# echo $DATE-$TIME
2017-02-20-09h00m00s

Mais avec un tiret bas c'est un souci :
Code: [Select]
# echo $DATE_$TIME
09h00m00s

Connaissez vous comment contourner la chose ?
Merci par avance ;)

Offline mmccarn

  • *
  • 2,626
  • +10/-0
Re: Script, DATE & TIME...
« Reply #1 on: February 20, 2017, 02:10:36 PM »
Code: [Select]
echo $DATE\_$TIME

ou bien
Code: [Select]
STR=$(date +%Y-%m-%d)_$(date +%Hh%Mm%Ss)
echo $STR

Offline STRyk

  • ****
  • 190
  • +0/-0
Re: Script, DATE & TIME...
« Reply #2 on: February 20, 2017, 02:12:51 PM »
Merci !
Ou peut on trouver toutes ces subtilités ?
« Last Edit: February 20, 2017, 02:41:42 PM by STRyk »

Offline mmccarn

  • *
  • 2,626
  • +10/-0
Re: Script, DATE & TIME...
« Reply #3 on: February 21, 2017, 01:26:21 AM »
J'ai fait un recherche google pour 'bash env var "_"', qui m'a donne cette lien (j'aime stackoverflow.com):
http://stackoverflow.com/questions/17622106/variable-interpolation-in-shell

La on dise que "_" est legale dans le nom d'un variable.

Par consequent, "# echo $DATE_$TIME" va montrer les contents de "$DATE_" (vide) suivi de "$TIME".

Apres ca, il y a plusiers method de forcer le separation entre "$DATE" et "_" -- il faut simplement trouve la solution que vous aimez le mieux...