[Shell Unix] Convertir du Batch en Shell Unix
Résolu
Trezeg
Messages postés
81
Statut
Membre
-
Trezeg Messages postés 81 Statut Membre -
Trezeg Messages postés 81 Statut Membre -
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
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
A voir également:
- [Shell Unix] Convertir du Batch en Shell Unix
- Classic shell - Télécharger - Personnalisation
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Fichier batch - Guide
- Convertir epub en kindle - Guide
- Secure shell - Télécharger - Divers Web & Internet
7 réponses
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
Cf le bouton code au dessus de la boite dans laquelle tu tapes ton texte pour poster un message...
Bonne chance
< code > ... < /code >
Cf le bouton code au dessus de la boite dans laquelle tu tapes ton texte pour poster un message...
Bonne chance
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 :
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
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
J'ai pas de shell sous la main mais à mon avis un truc du genre pourrait marcher
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
#!/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
Merci Mamiemando ;-)
Je testerais le truc un peu plus tard...
Par contre voici quelques précisions permettant de mieux comprendre le batch.
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=.extMerci pour votre aide
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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
Bonne chance