[Shell] Concaténation de variable

Concaténation de variable [Shell] - Shell/Batch - Programmation

Marsh Posté le 11-04-2008 à 10:44:51    

Bonjour à tous,
 
Je viens vous voir car j'ai un petit problème dans un script pour concaténer 2 variables dans une troisième.
Pour être plus clair, je vous montre mon code :  

Code :
  1. DATE=`date +%Y%m%y`
  2. REP=`find ./webapps -type d -maxdepth 1 -name '[A-Za-z0-9]*' | sed 's:./webapps/::' | head -n 2 | tail -n 1`
  3. // pour vérifier si mes variables DATE et REP sont correctes
  4. echo $REP
  5. echo $DATE
  6. // le pb est là : j'obtiens _$DATE ! mais pas de trace du nom de mon REP
  7. echo $REP'_'$DATE
  8. tar cvf $REP'_'$DATE.tar ./webapps
  9. gzip $REP'_'$DATE.tar


J'espère que cela vous inspirera.
:jap:  Merci d'avance  :jap:

Reply

Marsh Posté le 11-04-2008 à 10:44:51   

Reply

Marsh Posté le 11-04-2008 à 14:11:59    

Ca devrait marcher, mais bon de toute façon la bonne de faire c'est plutôt echo "${REP}_${DATE}". Sinon tu va avoir des problèmes si le répertoire ou la data contiennent des espaces (ce qui est surement le cas pour la date d'ailleurs.

Reply

Marsh Posté le 15-04-2008 à 21:56:36    

matafan a écrit :

Ca devrait marcher, mais bon de toute façon la bonne de faire c'est plutôt echo "${REP}_${DATE}". Sinon tu va avoir des problèmes si le répertoire ou la data contiennent des espaces (ce qui est surement le cas pour la date d'ailleurs.


C'est toujours mieux de mettre des guillemets mais même sans guillemet et même avec des espaces dans le contenu des variables cela aurait dû marcher !!!


---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.
Reply

Marsh Posté le 17-04-2008 à 09:28:47    

Le echo oui, mais son tar aurait merdé à cause des espaces.

Reply

Marsh Posté le 21-04-2008 à 20:30:13    

matafan a écrit :

Le echo oui, mais son tar aurait merdé à cause des espaces.


Exact  :jap:  


---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.
Reply

Marsh Posté le 25-11-2009 à 16:23:07    

Je viens également d'avoir le problème. Il faut utiliser les accolades pour que l'on ai bien les deux noms comme indiqué par matafan.
 
echo "$REP_$DATE" affiche seulement la variable DATE
echo "${REP}_${DATE}" affiche bien les deux variables

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed