|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Candidat au titre de Membre du Club
![]() Inscription : mars 2007 Messages : 49 ![]() |
Bonjour,
Je rencontre un soucis sur un script bash pour retraiter les noms de répertoire/fichier dans une grosse arborescence, afin de virer tout ce qui est accents et caractères spéciaux. Quand je l'exécute en ligne de commande, tout va bien. Par contre quand je l'exécute avec cron, ca part en vrille. Apparemment, ca viendrait de mes variables, chargées de séparer le nom du fichier, de celui du directory. Voici les principales lignes du script: Code :
/home/toto/A110914 à lulu.txt et voici les valeurs de chaque variable: ${*}= /home/toto/A110914 à lulu.txt ${d}= /home/toto/à lulu.txt ## normalement, il devrait trouver /home/toto/ ${f}= A110914 à lulu.txt ${m}= A110914 a lulu.txt et donc il arrive à: /home/toto/à lulu.txtA110914 a lulu.txt Le script se trompe donc sur la construction du dossier parent, alors qu'il le fait correctement quand je le lance à la mimine... Pour préciser un peu le contexte, je traite une arborescence sur une partition ext3 (ISO-8859-1) qui est enrichie par des utilisateurs windows, grâce à samba. Les caractères accentués/spéciaux n'apparaissent pas clairement sur linux (ca affiche des trucs bizarres), mais exécuté en ligne de commande, ce script marche nikel... Si quelqu'un avait une idée, ca serait bien sympa. Merci d'avance. Muad'Dib |
||
|
|
00
|
|
|
#2 | ||
|
Expert Confirmé
![]() Inscription : janvier 2011 Messages : 970 ![]() |
Salut,
La crontab est exécutée sans environnement, donc c'est à toi de définir un environnement dans ton script, soit en sourçant ton ".bashrc' soit en définissant tes variables en début de script ($PATH notamment). Ensuite plutôt que des pipes et commandes inutiles, pour extraire tes chemins et noms de fichiers : Code :
__________________
$ man woman Il n'y a pas de page de manuel pour woman. |
||
|
|
10
|
|
|
#3 |
|
Candidat au titre de Membre du Club
![]() Inscription : mars 2007 Messages : 49 ![]() |
Impeccable, tes informations vont bien m'aider^^
J'vais aller paufiner tout ca, et j'vous laisserais des nouvelles ensuite. Merci beaucoup pour ces conseils, et bonne journée EDIT: après modification des 2 lignes qui séparent le nom du directory (avec basename et dirname), le script marche au poil! Un grand merci à toi, zipe31, t'assures un max =) Sinon, pour ta remarque à propos de "sourcer" mon script, je vais essayer de me renseigner, ca m'a l'air intéressant^^ |
|
|
10
|
Copyright © 2000-2012 - www.developpez.com