Ansicht:   

#183213

Solderdot

20.01.2010, 17:11:08

Bash skript aus DOS-Box aufrufen (pc.coding)

Hallihallo,

ich arbeite in einer DOS-Box und möchte von dort aus ein BASH-skript starten. Das geht ohne Probleme mit
bash -c <bash-befehl>
z.B.
bash -c \"tuwas P1=Bla P2=Laberkeks\"
nun möchte ich diesen Aufruf in einem DOS batch job kapseln, der die Parameter einfach durchreicht, also in etwa

machwas.bat
€echo off
bash -c \"tuwas %1 %2\"

Das klappt auch gut, solange die Parametr kein Gleichheitszeichen (\"=\") enthalten.

machwas bla laberkeks
führt also zum gewünschten
bash -c \"tuwas bla laberkeks\"

machwas P1=bla P2=laberkeks
führt jedoch zu
bash -c \"tuwas P1 bla P2 laberkeks\"
das \"=\" wird einfach durch einen Whitespace ersetzt. Wie kann ich das unterbinden?

Danke und viele Grüße
-- Solderdot

#183223

Manfred H_ [Gast]

20.01.2010, 18:21:15

@ Solderdot

Bash skript aus DOS-Box aufrufen

> Hallihallo,
>
> ich arbeite in einer DOS-Box und möchte von dort aus ein BASH-skript
> starten. Das geht ohne Probleme mit
> bash -c <bash-befehl>
> z.B.
> bash -c \"tuwas P1=Bla P2=Laberkeks\"
> nun möchte ich diesen Aufruf in einem DOS batch job kapseln, der die
> Parameter einfach durchreicht, also in etwa
>
> machwas.bat
> €echo off
> bash -c \"tuwas %1 %2\"
> Das klappt auch gut, solange die Parametr kein Gleichheitszeichen (\"=\")
> enthalten.
>
> machwas bla laberkeks
> führt also zum gewünschten
> bash -c \"tuwas bla laberkeks\"
>
> machwas P1=bla P2=laberkeks
> führt jedoch zu
> bash -c \"tuwas P1 bla P2 laberkeks\"
> das \"=\" wird einfach durch einen Whitespace ersetzt. Wie kann ich das
> unterbinden?
>
> Danke und viele Grüße
> -- Solderdot


Wird das = nicht zum Setzen von Variablen benutzt?

http://www.libe.net/themen/BATch-Befehle.php

#183332

Solderdot

21.01.2010, 08:31:19

@ Manfred H_

Bash skript aus DOS-Box aufrufen

> Wird das = nicht zum Setzen von Variablen benutzt?
>
> http://www.libe.net/themen/BATch-Befehle.php

Hi,
die Frage verstehe ich nicht. Ja, das \"=\" wird auch zum Setzen von Variablen genutzt. Es gibt aber auch Skripte (wie hier bei mir), bei denen das \"=\" als Parameter übergeben werden muss.
In meinem konkreten Fall habe ich ein solches skript, welches wie folgt aufgerufen werden muss:
tuwas P1=Bla P2=Laberkeks
Diese Zeile kann ich ohne Probleme am BASH command prompt eingeben. Wie muss ich die Bash-Shell aus der DOS-Box heraus aufrufen, damit sie dieses Kommando ausführt?
Gruß
-- Solderdot

Ansicht:   
Auf unserer Web-Seite werden Cookies eingesetzt, um diverse Funktionalitäten zu gewährleisten. Hier erfährst du alles zum Datenschutz