Caractere special i_ Os AIX

Résolu/Fermé
Jules - 12 juin 2008 à 10:17
 Jules - 12 juin 2008 à 13:51
Bonjour,

J'ai fait une boucle pour déplacer un ensemble de fichier dans un sous répertoire d'archive

La boucle ci-dessous fonctionne correctement et déplace les fichiers dans mon sous répertoire d'archive avec l'extension _aaaammjj

for i in toto1 toto2 toto3; do mv $i ./ARC/$i\_`date +%Y%m%d` ; done

Par contre cette boucle ne fonctionne pas et tente de renommer les fichiers uniquement avec la date du jour dans le cas ci-dessous :

for i in toto1 toto2 toto3; do mv $i ./ARC/$i_`date +%Y%m%d` ; done

Elle ne fonctionne qu'avec $i\_`date +%Y%m%d` ou $i"_"`date +%Y%m%d`.

Est-ce que quelqu'un pourrait m'expliquer pourquoi je dois définir l'underscore en tant que caractère "normal".

Est-ce que i_ est un caractère spécial sous cet OS ?

Je sais je sais ... pourquoi se poser la question j'ai la solution pour que ça fonctionne ? ... pour la culture générale tout simplement.

Merci.
A voir également:

1 réponse

jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 895
12 juin 2008 à 11:51
Salut,

Et comme ça :
mv ${i} ./ARC/${i}_$(date +%Y%m%d)
ça marche pas mieux ? (pas essayé)
1
ça marche parfaitement !

Merci pour ta réponse aussi rapide (ce n'est pas la 1ere fois ... à nouveau merci) :

Pour quelques eclaircissement : https://cyberzoide.developpez.com/index.php

"Une variable peut être utilisée dans n'importe quelle circonstance du moment que c'est dans le Shell. Son nom doit être précédé du signe dollard ($) et être entre accolades ({}) si un autre mot lui est contigu."

Vive les pinguioins !
0