Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Batch to Shell

Empfohlene Antworten

Veröffentlicht

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,

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/

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

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 ;)

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 ;)

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?

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

Kurze Frage:

Läuft die IBM-Software überhaupt unter Linux?

mfg

cane

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]

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

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

ok, hat sich erledigt, das problem war das die dateien von windows verhunzt wurden :/

Scripte mit vi erstellen und nicht mit Windows-Editoren

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.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.