Pages : 1
#1 Le 02/02/2012, à 13:17
- XP-1000
[RESOLU] mkdir -p en ftp
Bonjour à toutes et à tous,
encore une fois je viens mendier votre aide ^^
J'aurais besoin, dans un script, de créer plusieurs répertoires sans savoir si l'un d'eux existe.
En bash la commande "mkdir -p [rep1/rep2]" fonctionne très bien puisqu'elle créée rep1 s'il n'existe pas et rep2 dans rep1 si ce dernier existe.
Malheureusement, en ftp, mkdir n'accepte le paramètre "-p"
Si quelqu'un a une idée brillante, je lui en serai reconnaissant
Merci d'avance,
A la prochaine
Dernière modification par XP-1000 (Le 05/02/2012, à 13:42)
Hors ligne
#2 Le 02/02/2012, à 15:25
- johndo
Re : [RESOLU] mkdir -p en ftp
lftp ou ssh
Hors ligne
#3 Le 02/02/2012, à 22:35
- XP-1000
Re : [RESOLU] mkdir -p en ftp
Merci pour ta réponse qui est pertinente d'ailleurs,
Le problème est que, et j'aurais du le préciser avant, je voudrais que ce script fonctionne sur toutes les machines linux basiques.
Je veux donc qu'il ne dépende d'aucun logiciel non inclus d'origine dans linux.
Or, le seul moyen que je connais pour automatiser des commandes en ssh dans un script bash c'est expect qui n'est pas dans toutes les distribs linux.
Ce qui élimine ssh. Quand à lftp, c'est le même problème encore plus explicite.
Merci encore tout de même pour ta réponse, en espérant que quelqu'un est une autre solution
Hors ligne
#4 Le 02/02/2012, à 23:17
- vince gakusei
Re : [RESOLU] mkdir -p en ftp
Bonjour,
C'es un peu plus basique mais l'expression suivante bien qu'un peu longue semble fonctionner:
(cd rep1 && mkdir rep2) 2>/dev/null || (mkdir rep1 && cd rep1 && mkdir rep2) 2>/dev/null
Il doit y avoir plus simple, mais mes connaissances en script shell ne sont hélas pas très étendues.
Bon courage
Hors ligne
#5 Le 03/02/2012, à 02:16
- Levi59
Re : [RESOLU] mkdir -p en ftp
Un petit exemple de script qui peut effectuer l'équivalent d'un mkdir -p :
#!/bin/bash
fonction creation() {
[[ -n ${1%%/*} ]] && {
[[ ! -d ${1%%/*} ]] && mkdir "${1%%/*}"
(cd "${1%%/*}"; creation "${1#*/}")
}
}
for i in $@
do
creation "$i"
done
Il suffit de créer le script (le nommer par exemple mkdirp) et de le lancer ainsi :
mkdirp "/ARBO/RESCENCE/1" "./ARBO/RESCENCE/2" "~/ARBO/RESCENCE/3"
Dernière modification par Levi59 (Le 03/02/2012, à 02:17)
Hors ligne
#6 Le 03/02/2012, à 21:30
- johndo
Re : [RESOLU] mkdir -p en ftp
Or, le seul moyen que je connais pour automatiser des commandes en ssh dans un script bash c'est expect qui n'est pas dans toutes les distribs linux.
Ce qui élimine ssh.
et l'option -i de ssh ??? elle sert à quoi ?
Hors ligne
#7 Le 05/02/2012, à 13:42
- XP-1000
Re : [RESOLU] mkdir -p en ftp
Levi59, merci je vais utiliser ce script.
johndo, je ne veux pas utiliser de certificats et il me semble que l'option -i fonctionne dessus.
Merci en tout cas a vous,
je mets résolu.
Hors ligne
#8 Le 05/02/2012, à 15:25
- Levi59
Re : [RESOLU] mkdir -p en ftp
Edit:
je n'ai pas essayé mais un chemin de fichier relatif du type "./unchemin/quelconque" pourrait poser problème. à vérifier.
Hors ligne
#9 Le 05/02/2012, à 22:16
- XP-1000
Re : [RESOLU] mkdir -p en ftp
Edit:
je n'ai pas essayé mais un chemin de fichier relatif du type "./unchemin/quelconque" pourrait poser problème. à vérifier.
Ce n'est pas un problème pour mon script alors c'est parfait merci encore
Hors ligne