Flux rss
Collection CommentCaMarche.net
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Résolu

[Shell Unix] Convertir du Batch en Shell Unix

Trezeg, le lundi 15 janvier 2007 à 17:19:51
Bonjour à tous,

J'aimerais traduire la ligne de Batch suivante en Shell Unix mais je galère :-(

set CMD_LINE=for /F "delims=. tokens=1,2,3,4,5,6" %%i in ('type %SQL4OUT_PROC_ROOT%%PAR4OUT_FILE%%PAR_EXT%') do sqlplus %vORA_USR%/%vORA_PWD%@%vORA_SRV% @%SQL_OUT_LIB_ROOT%%%i%BS%%%l%SQL_EXT% '"%%m.%%n"' '"%%k"' '"%DATA_BS_ROOT%%%i%BS%%%k%BS%%%l%BS%%WRK_DIR%%BS%Retour%%m%CSV_EXT%' '"%DATA_BS_ROOT%%%i%BS%%%k%BS%%%l%BS%%WRK_DIR%%BS%%%m%CSV_EXT%' '"%%l"' '"%vORA_SRV%"' '"%vORA_USR%"' '"%vORA_PWD%"'

Quelqu'un peut-il éclairer ma lanterne ?

Merci

Trez
Configuration: Windows NT 4.0
Internet Explorer 5.5
Répondre à Trezeg  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
mamiemando, le lundi 15 janvier 2007 à 20:43:14
Ben explique nous déjà ce que fait ton script batch, et surtout fais les retour à la ligne dans ton code et indente le. Puis mets les balises codes
< code > ... < /code >

Cf le bouton code au dessus de la boite dans laquelle tu tapes ton texte pour poster un message...

Bonne chance
Répondre à mamiemando

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Trezeg, le mardi 16 janvier 2007 à 22:41:43
Ok je reprends ;)

La ligne de commande a pour but d'initialiser la variable CMD_LINE avec un chemin qui est découpé par le "delims". Un sqlplus est ensuite appelé avec les paramètres de user, password et serveur. La commande est complétée par les paramètres initiaux du "delims" (%%i , %%l, %%k etc...).
Plus proprement ca nous donne :

set CMD_LINE=for /F "delims=. tokens=1,2,3,4,5,6" %%i in ('type %SQL4OUT_PROC_ROOT%%PAR4OUT_FILE%%PAR_EXT%')
do sqlplus %vORA_USR%/%vORA_PWD%@%vORA_SRV% @%SQL_OUT_LIB_ROOT%%%i%BS%%%l%SQL_EXT%
'"%%m.%%n"' '"%%k"' '"%DATA_BS_ROOT%%%i%BS%%%k%BS%%%l%BS%%WRK_DIR%%BS%Retour%%m%CSV_EXT%' '"%DATA_BS_ROOT%
%%i%BS%%%k%BS%%%l%BS%%WRK_DIR%%BS%%%m%CSV_EXT%' '"%%l"'

ps : j'ai supprimé les 3 derniers parametres vORA_PWD, vORA_SRV et vORA_USR car ils sont deja appelé au début du "do sqlplus"

Merci pour votre aide.

Trez
Répondre à Trezeg

3


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
mamiemando, le mercredi 17 janvier 2007 à 02:30:11
J'ai pas de shell sous la main mais à mon avis un truc du genre pourrait marcher
#!/bin/sh
PATH="/home/mando/plop"
DELIM="."
PATH2= `echo ${PATH}| sed -nre "s/${DELIM}/  /g"`
for x in `echo ${PATH2}`
do
  echo $x
done

Je te laisse enchaîner car je ne comprends rien à la syntaxe batch :-)
En plus sans rien pour tester ce que je fais c'est chaud c'est juste pour te donner l'idée.

Bonne chance
Répondre à mamiemando

4


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Trezeg, le mercredi 17 janvier 2007 à 10:18:55
Merci Mamiemando ;-)
Je testerais le truc un peu plus tard...
Par contre voici quelques précisions permettant de mieux comprendre le batch.
set SQL4OUT_PROC_ROOT=PROJ\ITF\PROD\PROC\SQL4OUT
set BS=\
set PAR4OUT_FILE=par4out
set PAR_EXT=.par
set WRK_DIR=PourTransmettre
set DATA_BS_ROOT=PROJ\ITF\PROD\DATA
set CSV_EXT=.ext
Merci pour votre aide
Répondre à Trezeg

5


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
mamiemando, le mercredi 17 janvier 2007 à 19:31:18
En fait pour que je t'aide plus il faudrait me dire quels sont les paramètres de ton programme, leur format, et ce que tu veux obtenir en sortie.

Bonne chance
Répondre à mamiemando

6


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Trezeg, le jeudi 18 janvier 2007 à 09:03:35
Bonjour,

Cet exercice n'est plus d'actualité (le source en batch a été modifié par le prof)... Donc pas la peine de se faire des ch'veux blancs avec ;-p

Trez
Répondre à Trezeg

7


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
 Trezeg, le jeudi 18 janvier 2007 à 11:27:08
Oupss j'oubliais,

Merci beaucoup Mamiemando ;-)

Trez
Répondre à Trezeg
[shell/unix] date de la veille (Résolu) Bonjour, Quelle commande (en shell-UNIX) permet d'afficher la date de la veille ? PS : je précise que c'est pour un script en ksh Merci de votre aide www.commentcamarche.net/forum/affich-1712296-shell-unix-date-de-la-veille
[Shell Unix] Utilisation du WAIT (Résolu) Bonjour, J'aimerais appeler un shell unix à l'intérieur d'un shell père. Je sais que la commande WAIT est utilisable dans ce cas mais je n'arrive pas à l'implémenter. Faut-il mettre le mot clé avant ou après l'appel ?... www.commentcamarche.net/forum/affich-2569129-shell-unix-utilisation-du-wait
Formater un nombre avec des 0 en shell Unix (Résolu) Bonjour, Je voudrais formater en shell Unix, un chiffre de façon qu'il ait toujours deux positions numériques. par exemple 1 devient 01, 2 devient 02, etc... Bien sûr, je peux le faire avec un peu de programmation, mais est-il possible de la... www.commentcamarche.net/forum/affich-3659785-formater-un-nombre-avec-des-0-en-shell-unix
Sed - Conversion retours chariots DOS (CRLF) / UNIX (LF)Conversion format de fichier DOS UNIX / UNIX DOS Préambule Ce qu'il faut savoir Conversion DOS vers UNIX Conversion UNIX vers DOS Préambule Il existe déjà des utilitaires (dos2unix et unix2dos) qui s'acquittent très bien ce cette... www.commentcamarche.net/faq/sujet-5978-sed-conversion-retours-chariots-dos-crlf-unix-lf
[Javascript] Convertisseur d'unités de mesures scientifiquesVoici un convertisseur d'unités de mesures scientifiques qui marche juste en Javascript et en local dans le navigateur, sans faire appel à du code serveur. On peut convertir n'importe quelle unité (ou combinaison) en n'importe quelle autre à la volée... www.commentcamarche.net/faq/sujet-1053-javascript-convertisseur-d-unites-de-mesures-scientifiques
[Shell] Accès aux dernières commandes de l'historiqueLe shell Linux/Unix regorge de fonctionnalités permettant de gagner du temps. Ainsi, il est possible de remonter dans l'historique des dernières commandes grâce aux flèches de navigation en appuyant sur la flèche du haut. Mais il y a moyen... www.commentcamarche.net/faq/sujet-971-shell-acces-aux-dernieres-commandes-de-l-historique
[Shell / UNIX] Manipulation de dates (Résolu)Bonjour, Quelle commande (en shell-UNIX) permet d'afficher la date de la veille ? PS : je précise que c'est pour un script en ksh Merci de votre aide www.commentcamarche.net/forum/affich-1712417-shell-unix-manipulation-de-dates
Commande Perl dans Shell Unix (Résolu)Bonjour, Je voudrai exécuter une commande Perl dans un Shell UNIX. Exemple : perl -pi -e 's/(.*)/date#${ACTIVITY_INSTANCE_ID}#$.#$1#${V_INTERFACE_ID}#1/' ${FIC_DATA} Mais apparemment lors de l'exécution de cette commande, les valeurs... www.commentcamarche.net/forum/affich-5740738-commande-perl-dans-shell-unix
[shell] faire un substring (Résolu)Bonjour, J'ai une chaine de caractères dont je souhaite garder uniquement les 4 premiers caractères. Comment faire cela en shell UNIX (ksh) ? Merci de votre aide www.commentcamarche.net/forum/affich-1650672-shell-faire-un-substring
Télécharger CygWinCygwin est un environnement UNIX pour Windows composé: d'un shell Unix d'une librairie dynamique (DLL) chargée de fournir une couche d'émulation Unix pour le système Windows d'un ensemble de librairies, sources et exécutables adaptés à Cygwin... www.commentcamarche.net/telecharger/telecharger-99-cygwin
Télécharger ConvertEuroUn convertisseur euro simple d'utilisation. Il convertit les euros dans toutes les anciennes monnaies de l'Union Européenne, et permet également d'ajouter/modifier/supprimer vos propres monnaies personnalisées en définissant vous-mêmes le taux de... www.commentcamarche.net/telecharger/telecharger-3673489-converteuro
Télécharger Bat to exe converterBat To Exe Converter est un programme qui vous permet de compiler et de convertir vos fichiers séquentiels en exécutables. Ici ce sont les fichiers BATCH qui sont convertis en fichiers EXE. Très utile pour lancer des applications "fantôme" sans ouvrir... www.commentcamarche.net/telecharger/telecharger-34057824-bat-to-exe-converter
Systèmes UNIX - Le shellIntroduction au shell L'interpréteur de commandes est l'interface entre l'utilisateur et le système d'exploitation, d'où son nom anglais «shell», qui signifie «coquille». Le shell est ainsi chargé de faire l'intermédiaire entre le système... www.commentcamarche.net/contents/unix/unix-shell.php3
Introduction aux systèmes UNIXLe système UNIX Le système Unix est un système d'exploitation multi-utilisateurs, multi-tâches, ce qui signifie qu'il permet à un ordinateur mono ou multi-processeurs de faire exécuter simultanément plusieurs programmes par un ou plusieurs... www.commentcamarche.net/contents/unix/unixintro.php3
Commandes UNIXTableau des principales commandes UNIX Commande Unix Description Options ls liste le contenu d'un répertoire -a Affiche tous les fichiers, y compris les fichiers cachés ... www.commentcamarche.net/contents/unix/unixcomm.php3