Version imprimable du sujet

Cliquez ici pour voir ce sujet dans son format original

OpenSpace _ Programmation _ [dos] Pourquoi C'est Pas Unix...

Ecrit par: PoP 24/03/2004 18:12

Pouet.

Je suis en train de me palucher l'écriture d'une palanquée de scripts qui vont avoir pour but de me délester d'une partie, rébarbative et source d'erreurs, de mon taf.
Il s'agit d'automatiser l'upload de fichiers sur un ftp sur une machine et la création de RPMS sur celle-çi. Pour la partie création des RPMS automatique, pas de problème, je me suis fait un script bash qui fait ça très bien. Il me fait les fichiers de spec comme il faut et exécute rpmbuild autant de fois que nécessaire. Nickel. Vive Unix.
Là où ça se corse c'est pour la partie upload ftp qui se fait depuis une machine sous Windows. J'ai entrepris de me faire un script bat qui allait faire ce petit boulot. Mais, j'ai plusieurs problèmes:



Voilà...c'est assez compréhensible?

Ecrit par: Dude76 24/03/2004 19:14

Je vais regarder pur le coup du port != 21, mais pour ce qui est du fichier, tu peux le créer en faisant des echo "xxxxxx" >> fichier ou qq chose comme ça (ça fait un bail que je n'ai pas fait ça; je vais faire 2/3 tests et je reviens).
Pour le telnet, faut que je regarde, je n'ai jamais essayé.

édit: pour le port, il me semble que adresse:port fonctionne, mais évidement, j'ai rien pour tester sous la main mad.gif .
Pour l'echo, je confirme; ">" pour écraser (ou créer) un fichier, ">>" pour y ajouter.
Utilises-tu une connexion automatique ou pas ? si non, il suffit (si je me souviens bien) de mettre le user et le pass dans le fichier de commande (1 ligne pour chaque).

Ecrit par: Sha 24/03/2004 21:32

Pour créer un fichier avec un .bat sous dos, y'a la solution de l'echo ou du copy con :

http://users.cybercity.dk/~bse26236/batutil/help/COPY_E.HTM

Pour les autres questions, chui largué (et de loin tongue.gif)

Ecrit par: RED-HOT 24/03/2004 23:08

pour le login/mdp
tu peux utiliser la commande echo . il me semble que c'est ca, en tout cas, ca permet de valider (comme si tu appuyais sur la touche enter)
sinon pour passer en paramètre, il faut que tu utilises %1, %2 (ce sont des variables que tu auras saisis à la main par exemple en lancant ton batch)
genre connect pop c0nnard ou pop correspond à %1 et connard à %2
Laisse mon un peu plus de temps que je retrouve mes scripts et je te donne ca.

Ecrit par: PoP 25/03/2004 8:59

Merci Joe pour les paramètres, il me semblait bien que c'était ça! wink.gif
Je vais de l'avant avec le echo >> pour la création de mes fichiers de commandes ftp. Pour le telnet je vous dit ça quand j'y arrive. (Dude, non, malheureusement, adresse:port ne marche pas! dry.gif)

Ecrit par: Rabban 25/03/2004 12:00

essaie open 123.123.123.123 [462] ou 123.123.123.123 462


Ecrit par: PoP 25/03/2004 15:10

l'espace entre l'ip et le port, ça marche. smile.gif
Par contre j'ai un autre problème, il ne semble pas vouloir de mon script ftp pourtant simple:
CODE

open 462.462.462.462 462
my_username
my_login
cd /this/rep/sucks/goats
mput I_have.evidence
quit


Il se borne à me répondre "bad password"... crumble!

Ecrit par: Dude76 25/03/2004 21:22

as-tu fait un "ftp -n -s:PoPFicCmd" pour ne pas faire de connexion automatique ? (si tu te connectes sur une machine unix, un user par défaut est généralement déclaré).
Sinon, tu peux essayer aussi en mettant l'@ en paramètre directement de la ligne de commande.
Pour le coup du port, je ne me souvenais pas exactement blush.gif mrgreen.gif
Par contre, désolé, je t'ai complètement zappé pour le telnet au boulot blush.gif

Ecrit par: RED-HOT 25/03/2004 23:36

juste au cas ou
je disais de mettre : echo et un point
genre
echo .

Ecrit par: PoP 26/03/2004 11:32

Il en veut pas non plus. sad.gif
J'ai essayé en écrivant moi-même le fichier de script ftp avec edit sous DOS, ça marche.
Je produit théoriquement la même chose avec echo dans mon script bat, ça marche pas. Avec ou sans "echo.". gniiiiiiiiiiiiiiiiiii

Ecrit par: Sha 26/03/2004 11:46

Ben essaye copy con.

(Con n'étant pas, ici, l'interjection servant habituellement de ponctuation dans ma province).

Ecrit par: Rabban 26/03/2004 13:25

l'interjection en question ne s'ecrit-elle pas avec un 'g' à la fin?

Ecrit par: PoP 26/03/2004 14:25

CODE

C:\>copy cong
Le fichier spécifié est introuvable.


Bah merde! wahaha.gif

Ecrit par: PoP 26/03/2004 17:20

Question bête, mais comment j'utilise copy con dans mon script bat? Ca enregistre dans un fichier ce qui est saisi au clavier à priori...

Ecrit par: momo 26/03/2004 18:28

exactement .. smile.gif
(con=CON: = console )

sinon
"comment utilise-t-on la commande cat sous DOS? C'est très pratique sous Unix pour créer un fichier et j'ai besoin de créer à l'exécution du script bat un fichier comportant les commandes ftp à exécuter. Si on autre moyen existe pour créer un fichier avec un script bat, je suis preneur, du moment que ça marche!"
cat == type
mais si les commandes doivent êtres incluses dans le .bat, echo me semble plus approprié
"comment sous DOS me connecter à ma machine distante et y exécuter un script bash? A la main j'utilise la commande telnet machinedistante et saisi ensuite mon login/pwd puis tape le nom de mon script. Je souhaite automatiser ça également et n'avoir qu'un script bat a exécuter une fois."
apparament (enfin d'apres windows 2000)
telnet n'accepte pas de script de connectin (au contraire de ftp .. ) et vu la constance des outils microsoft, quelque chose me dit qu'une redirection d'entrée ne marchera pas ...
(mais tu peux essayer .. tongue.gif)

Ecrit par: Sha 26/03/2004 18:43

Ah oui j'a confondu duex paragraphes sur le site, copy con: ça prend les caractères frappés au clavier. Quoique ça peut être une solution : tu te propulses d'un coup de savate magistral vers la machine idoine et tu frappes tes commandes ftp sur ladite machine biggrin.gif

Pour être plus constructif :
http://home.att.net/~knoblock/dosftp.html

Ecrit par: RED-HOT 27/03/2004 0:44

autant pour moi
c'était echo .| la_commande

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)