Koozali.org: home of the SME Server
Other Languages => Français => Topic started by: STRyk 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 :
DATE=$(date +%Y-%m-%d)
TIME=$(date +%Hh%Mm%Ss)
Avec un tiret négatif ca marche sans problème :
# echo $DATE-$TIME
2017-02-20-09h00m00s
Mais avec un tiret bas c'est un souci :
# echo $DATE_$TIME
09h00m00s
Connaissez vous comment contourner la chose ?
Merci par avance ;)
-
echo $DATE\_$TIME
ou bien
STR=$(date +%Y-%m-%d)_$(date +%Hh%Mm%Ss)
echo $STR
-
Merci !
Ou peut on trouver toutes ces subtilités ?
-
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...