Merci pour vos réponses.
Je ne manquerai pas de les analyser et de les tester plus tard.
Car là, il fait déjà plus de 30°C et je n'en peux plus !
bonjour
Si j'ai bien compris, tu as aussi un problème de conception à ce niveau parce que ici aussi, tu ne gères pas les chemins (ou mal).
Tu as donc à faire un changement dans ton architecture et d'en déduire des changements de codes dans ton script appelant et tes script(s?) appelé(s?)
Parce que le chemin ne dépend alors pas de l'emplacement de celui qui appelle le script, ce qui simplifie beaucoup de problèmes. Si tu dois bosser sur "/var/apt" ben vaut mieux nommer ce chemin en absolu plutôt que "../../../../../../../../../../../../../../../../../../../var/apt"
Toutefois il peut arriver que le script soit dédié à un projet ; et donc ira travailler sur des fichiers du projet. Le script et les fichiers sont donc situés tous deux dans l'arborescence du projet. Dans ce cas, généralement je repère les fichiers par rapport à l'emplacement du script, en utilisant dirname "$0" déjà mentionné.
Cela permet au projet d'être déplacé ensuite n'importe où dans l'arborescence sans avoir à modifier le script. Tant que l'arborescence intrinsèque du projet ne change pas, ça fonctionne (bon sauf cas spécifique exposé par disedorgue mais qui doit être quand-même assez rare).
A ce moment là, si l'utilisateur appelle le script en relatif cela donne des chemins en relatifs (mais ça fonctionne) et si l'utilisateur appelle le script en absolu ça donne des chemins en absolus (et ça fonctionne aussi). Mais je ne sais pas trop comment nommer ce type de chemin...
Mon Tutoriel sur la programmation «Python»
Mon Tutoriel sur la programmation «Shell»
Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
Et on poste ses codes entre balises [code] et [/code]
Mon Tutoriel sur la programmation «Python»
Mon Tutoriel sur la programmation «Shell»
Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
Et on poste ses codes entre balises [code] et [/code]
Il est quand même très simple de passer le répertoire "de travail" au script via fichier.conf, paramètre au script, variable d'environnement…
De plus il est plus sécurisé d'utiliser toujours les chemins absolus :
EDIT: merci Sve@r , modifié
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 travail="$HOME/workspace/datas series" cd "$travail" rm *.* # :aie: si le répertoire n'est plus accessible # ou même simplement extraire les fichiers d'une archive ou autre ... travail="${1:-$HOME/workspace/datas series}" [[ "$travail" != $HOME* ]] && exit 2 rm "$travail/"*.* # pas de tragédie à l'horizon :)
Mon Tutoriel sur la programmation «Python»
Mon Tutoriel sur la programmation «Shell»
Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
Et on poste ses codes entre balises [code] et [/code]
Partager