problème avec la commande cut - Shell/Batch - Programmation
Marsh Posté le 02-06-2008 à 11:46:11
echo " ${var1} " | mail -s "Information sur ${var} du $jour $mois $an" mamamamamma@chut.fr |
C'est $var ou $var1 ?
Il manque l'underscore dans "mon_fichier" sur la ligne du cut.
Est-ce que echo ... sans mail marche bien ?
Par sécurité, il est recomandé de mettre des accolades autour des noms de variables, tels que ${an}, ${jour}, etc.
Dans un echo, au lieu de echo "toto ${titi} tutu", je fais plutôt echo "toto "${titi}" tutu".
Marsh Posté le 07-06-2008 à 11:29:15
olivthill a écrit : Par sécurité, il est recomandé de mettre des accolades autour des noms de variables, tels que ${an}, ${jour}, etc. |
En fait, cela ne sert que pour lever une ambigüité. Exemple
Code :
|
Ou bien pour y appliquer des mécanismes spéciaux comme ${var:-defaut} ou autres...
olivthill a écrit : Dans un echo, au lieu de echo "toto ${titi} tutu", je fais plutôt echo "toto "${titi}" tutu". |
Multiplier les guillemets ne sert à rien (et à la limite peut embrouiller) => echo "toto ${titi} tutu"
Cours de shell ici http://fr.lang.free.fr/cours/Shell_v2.0.pdf où le chapitreVI (page 27) explique bien la façon d'utiliser les guillemets doubles et ce qu'ils laissent passer ou non.
Marsh Posté le 02-06-2008 à 10:02:17
Bonjour,
dans le répertoire mami/tot/jpg j'ai 6 fichiers(A,B,c,d,e,f) et dans le fichier d
voila ce que j'ai par exemple ce genre de lignes plusieurs fois:
02C8020060901148977I081020000
02C80200609061660002700070603
02C80200609083520002822080610
02C80200609100531003171010279
je veux recupérer dans 1variable var1 (les elements à parir du 6ème element au 13 element) qui signifie l'année et le mois sachant que
var1=20060901
minute=`date +%M`
heure=`date +%H`
jour=`date +%d`
mois=`date +%B`
an=`date +%Y`
if [ -e /seppp/mmam/cedric/$an/$mois/mon_fichier ]
then
var1=$(cat mon_fichier | cut -c 6-10 mon fichier)
echo " ${var1} " | mail -s "Information sur ${var} du $jour $mois $an" mamamamamma@chut.fr
fi
aidez moi svp je ne sais pas prquoi ça ne marche pas
quand j'exécute j'ai rien comme message.