Veröffentlicht 17. Februar 200520 j Hi, nun der Name sagt ja fast schon alles. Ich hab n Batch-skript und das muss ich nun zu einem Shell-Skript machen, da ich aber weder ahnung von Batch, noch von Shellskripten hab brauch ich hilfe. Und da ich Null-Plan davon hab weiß ich nichmal wo ich hilfe brauch o_O Vielleicht hat ja einer von euch schonmal so ne konvertierung durchgeführt und weiß wie man am besten anfängt. Grüße SNOWMAN PS: auch wenns irgendwie zwischen Windows und Linux steht hab ich ma Linux genommen da das ja das Zielsystem is. but feel free and move me
17. Februar 200520 j Hi, nun der Name sagt ja fast schon alles. Ich hab n Batch-skript und das muss ich nun zu einem Shell-Skript machen, da ich aber weder ahnung von Batch, noch von Shellskripten hab brauch ich hilfe. Und da ich Null-Plan davon hab weiß ich nichmal wo ich hilfe brauch o_O Vielleicht hat ja einer von euch schonmal so ne konvertierung durchgeführt und weiß wie man am besten anfängt. Grüße SNOWMAN PS: auch wenns irgendwie zwischen Windows und Linux steht hab ich ma Linux genommen da das ja das Zielsystem is. but feel free and move me Hi, nunja helfen kannst du dir da im Grunde nur selbst, weil keiner weiß was du da konvertieren musst und die Arbeit letzten Endes sowieso selbst machen musst. Du solltest dir Kenntnisse über die Tools aneignen die du brauchst für das Script und dann kannst du dir das Advanced Bash Scripting Howto mal ansehen, da steht von A-Z drin wie man Bash-Skripte (üblicher Shell-Interpreter unter Linux) schreibt. Ist ziemlich einfach, solange das Ziel des Skriptes einfach ist. Gruß Patrick [1] http://www.tldp.org/LDP/abs/html/
17. Februar 200520 j ich fürchte Du musst schon mal posten wie das Original aussieht ... und dann kann man ja sehen wieviel Aufwand das wird. Normalerweise kein Akt, da Shellscripte viel komplexer sein können als Batches
18. Februar 200520 j as u wish und ehrlich gesagt hab ich nich viel ahnung was da passiert ... @echo off if "%OS%" == "Windows_NT" setlocal rem Program will look in %ECBS_HOME%\config for Password file if not "%ECBS_HOME_DIR%" == "" GOTO gotHome set ECBS_HOME_DIR=$ECBS_HOME_DIR$ :gotHome if not "%JAVA_HOME%" == "" GOTO gotJava set JAVA_HOME=$ECBS_JAVA_HOME$ :gotJava if not exist %ECBS_HOME_DIR%\lib\PM.jar GOTO ERROR_ECBSHOME if not exist %JAVA_HOME%\bin\java.exe GOTO ERROR_JAVAHOME rem execude jar file set PM_EXECUTE=%ECBS_HOME_DIR%/lib/PM.jar if not "%1"=="" GOTO TITEL_END echo. echo ============================================================================= echo === Password-Manager: easy connect.business suite === echo ============================================================================= echo. :TITEL_END rem get the command line arguments :setArgs if "%1"=="" goto doneSetArgs set CMD_LINE_ARGS=%CMD_LINE_ARGS% %1 shift goto setArgs :doneSetArgs "%JAVA_HOME%\bin\java.exe" -jar %PM_EXECUTE% %ECBS_HOME_DIR% %CMD_LINE_ARGS% GOTO END :ERROR_ECBSHOME echo The home directory from Easyconnect is not known or invalide! echo Please set ECBS_HOME_DIR to the Easyconnect home directory. GOTO END :ERROR_JAVAHOME echo Could not find the java home directory! echo Please set JAVA_HOME to your java home directory. GOTO END :END
19. Februar 200520 j Naja viel passiert da nicht. Im Groben und ganzen ein bei if-Abfragen ob Variablen gesetzt sind, Parameter übergeben etc. und dann der start irgendeiner software
19. Februar 200520 j Trivial. Hol Dir ein gutes Handbuch zur Shell und fang mit den grundsätzlichen Schleifenkonstrukten und if Abfragen an. Mein Tip: Unix system 5 von Jürgen Gulbins.
21. Februar 200520 j Trivial. Hol Dir ein gutes Handbuch zur Shell und fang mit den grundsätzlichen Schleifenkonstrukten und if Abfragen an. Mein Tip: Unix system 5 von Jürgen Gulbins. Wieso braucht er da ein _gutes_ Buch? *eg* Das ist sooo trivial
21. Februar 200520 j so, bin schon ganz gut weiter gekommen. hab im grunde schon alles umgestellt, außer zwei dinge: ich hab: ich hab aber batch if "%queue%" == "" goto err wie setz ich die If-schleife um? Alles was ich zu if gefunden hab hängt mit EXIST und Files und Directories zusammen. Zu GOTO hab ich garnix gefunden. da in "err" aber eh nur ne fehlerausgabe gemacht wird kann ich ja ""... then echo "fehler";exit"" machen, oder?
21. Februar 200520 j Hallo, if "%queue%" == "" goto err ""... then echo "fehler";exit"" machen, oder? also im Prinzip prüfst du ja nur ob die Variable 'queue' leer ist, ist dies der Fall brichst du das Skript ab. if test -z "$queue"; then echo "Fehler: Variable 'queue' nicht gesetzt."; exit 1; fi
22. Februar 200520 j und ich dachte ich hätte es kapiert ich hab auf apts link so ne gegenüberstellung der einzellnen DOS-Shell Befehle genommen und daran mein Skript geändert, aber er sasgt mir : bad interpreter: No such file or directory Das heißt doch lediglich das ich n nicht vorhandenen interpreter angegeben hab, dacht ich... #!/bin/bash steht bei meinem skript in der ersten Zeile, is das falsch? wenn ja, wieso klappts dann in den anderen Skripts? Bzw. ich hab den aufruf von zwei anderen skripten drin, kann es daran liegen? crtmqm -q "$QUEUE" strmqm "$QUEUE" [edit] @cane: na klar, des IBM zeug läuft auf fast allen möglichen bekannteren Betreibssystemen. Der WebSphere Applicatin Server als Beispiel läuft lauf Homepage auf: AIX/UNIX | Linux-Betriebssystemplattform | OS/400, AS/400 Advanced Entry | Platform Independent | UNIX-Betriebssysteme | Windows | z/OS, OS/390, MVS [/edit]
22. Februar 200520 j und ich dachte ich hätte es kapiert ich hab auf apts link so ne gegenüberstellung der einzellnen DOS-Shell Befehle genommen und daran mein Skript geändert, aber er sasgt mir : bad interpreter: No such file or directory Das heißt doch lediglich das ich n nicht vorhandenen interpreter angegeben hab, dacht ich... #!/bin/bash steht bei meinem skript in der ersten Zeile, is das falsch? wenn ja, wieso klappts dann in den anderen Skripts? Bzw. ich hab den aufruf von zwei anderen skripten drin, kann es daran liegen? crtmqm -q "$QUEUE" strmqm "$QUEUE" Nein. Gib deinem Script mal Executerechte chmod +x DeinScript.sh
22. Februar 200520 j hmm x-recht hat es schon /bin/bash existiert auch mit vollen x-rechten also hier is einfach ma des ganze Skript: #!/bin/bash # Configure the MQ Queue Manager QUEUE=${1} CROSSWORLDS_MQ_TEST=${2} if test -z "$QUEUE"; then echo "Fehler: Keine Queuebezeichnung angegeben!"; exit 1; fi MQSNOAUT=YES crtmqm -q "$QUEUE" strmqm "$QUEUE" runmqsc "$QUEUE2 < $CROSSWORLDS_MQ_TEST
22. Februar 200520 j ok, hat sich erledigt, das problem war das die dateien von windows verhunzt wurden :/
23. Februar 200520 j ne, is nur weil des mal batch-dateien waren die ich per scp rüber hab und dann einfach nur im vi die befehle ersetz hab
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.