Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
-
L@w
- Beiträge: 916
- Registriert: 24.07.2002 08:12:30
Beitrag
von L@w » 19.05.2003 14:16:20
hallo,
vielleicht kann mir ja hier jemand helfen.
mein problem:
ich habe ich java programm in der arbeit mit dem ich das programm gsmsendsms steuern möchte. nur habe ich das problem, dass ich keine befehle mit " übergeben kann.z.B.
Code: Alles auswählen
gsmsendsms -d /dev/bty0 -b 19200 1234 "Das ist ein TEST"
warum ist das so? mit
funktioniert es.
cu L@w
---
LINUX - because booting is for adding hardware!
-
suntsu
- Beiträge: 2947
- Registriert: 03.05.2002 10:45:12
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: schweiz
-
Kontaktdaten:
Beitrag
von suntsu » 19.05.2003 14:33:33
Wenn nur der letzte Ausdruck in Hochzeichen steht, kannst du ja vom letzten "regulären" Ausdruck an den Rest parsen im Java-proggi
-
L@w
- Beiträge: 916
- Registriert: 24.07.2002 08:12:30
Beitrag
von L@w » 19.05.2003 14:39:10
kenn mich jetzt gerade nicht aus.
bin halt noch nicht so ein java-guru
kannst mir das mal genauer erklären?
cu L@w
---
LINUX - because booting is for adding hardware!
-
suntsu
- Beiträge: 2947
- Registriert: 03.05.2002 10:45:12
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: schweiz
-
Kontaktdaten:
Beitrag
von suntsu » 19.05.2003 14:50:39
Wenn ich dich richtig Verstanden habe ist "gsmsendsms" dein Java-Proggi dem du die Parameter übergeben willst.
Der Parameter in java ist ja ein String-Array. Und wenn du jetzt davon ausgehen kannst das es fünf Parameter sind bis zum dem Teil in Hochkomma(-d 1, /dev/bty0 2, -b 3, 19200 4 1234 5) kannst du den Rest die dann noch in dem Array sind einfach als String(mit Leerzeichen) zusammensetzten.
Wobei ich nicht weis ob / richtig übergeben werden.(sollten aber)
Edit:
public static void main(String[] args){
String str1;
String str2;
...
String str6;
str1 = args[0];
str2 = args[1];
}
Und dann für den letzten die länge des Array mit length auslesen, und die Restlichen Felder als String(mit Leerzeichen) zusammensetzen.
gruss
man'esgehtsicherauchanders'uel
Zuletzt geändert von
suntsu am 19.05.2003 14:58:41, insgesamt 1-mal geändert.
-
L@w
- Beiträge: 916
- Registriert: 24.07.2002 08:12:30
Beitrag
von L@w » 19.05.2003 14:58:20
nein,
gsmsendsms ist ein linuxprogramm (also c) glaube ich.
und dort hin möchte ich die strings übergeben.
cu L@w
---
LINUX - because booting is for adding hardware!
-
suntsu
- Beiträge: 2947
- Registriert: 03.05.2002 10:45:12
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: schweiz
-
Kontaktdaten:
Beitrag
von suntsu » 19.05.2003 17:18:53
Mit was rufst du das Linux-Programm auf?
Sowas?
Code: Alles auswählen
Process pr = Runtime.getRuntime().exec("/home/suntsu/programml");
Dann musst du nur die " zeichen mit / einpacken. Glaub ich.
Ansonsten. de.comp.lang.java
Dort wird dir sicher geholfen.
-
L@w
- Beiträge: 916
- Registriert: 24.07.2002 08:12:30
Beitrag
von L@w » 21.05.2003 12:12:47
nur zur info:
habe es jetzt mit einem shellscript gelöst.
erstelle shellscript -> führe shellscripte aus -> lösche shellscript.
wenn wer interessiert ist
ausserdem wer mein programm (java frontend für gsmsendsms) braucht oder lust hat weiter zu entwickeln soll sich melden.
cu L@w
---
LINUX - because booting is for adding hardware!
-
Leonidas
- Beiträge: 2032
- Registriert: 28.04.2003 13:48:49
- Lizenz eigener Beiträge: MIT Lizenz
-
Kontaktdaten:
Beitrag
von Leonidas » 27.05.2003 15:50:44
Shellscripte sin aber auch so platformunabhängig...der hammer!
Ne du musst afaik das so schreiben: \"
Weil sonst wird es warscheinlich als regex benutzt
Wir wollten einen Marsch spielen, aber wir hatten nur Xylophone.