Ich habe Probleme beim Trennen von zwei String-Variablen als Argumente für ein Bash-Skript. Meine Bash-Skript nimmt zwei Argumente wie folgt:Bash-Skript mit mehreren String-Argumenten
#!/bin/bash
DATA1=$1
DATA2=$2
jedoch DATA1 und DATA2 sind nicht das, was ich wollte, weil bash meine Saiten liest falsch. DATA2 ist nur der erste Teil des Arguments, das ich einfügen wollte, weil ich Schwierigkeiten habe, eine komplizierte (relativ) Zeichenfolge in einen einzigen Argument zu machen.
Ich nenne dieses Skript aus einer Java-Anwendung mit Variablen wie folgt aus:
String m1 = "some data";
String m2 = "some more"+mystring+"even more data"+anotherstring;
myscript.sh m1 m2
Nur der erste Teil von m2 auf DATA1 in der Bash-Skript übergeben. Ich habe versucht, das Ganze in einfache Anführungszeichen und doppelte Anführungszeichen zu schreiben. Ich kann es nicht als ganzes Argument betrachten, das ganze m2 als zweites Argument zu akzeptieren.
Jede Hilfe beim Erstellen von zwei String-Argumenten wird geschätzt.
ich glaube, das Problem ist eher auf dem Java-Ende sein als auf dem Bash Ende. Wie starten Sie das Skript? – ruakh
Sie müssen den EXACT-Code anzeigen, den Sie verwenden, um das Skript von Java aufzurufen ('Runtime.exec()' ?, 'ProcessBuilder'?), Einschließlich des Codes, der die Argumente einrichtet. Sonst raten wir nur. –
erster Teil von m2 wird an DATA1 übergeben? meinst du, der erste teil von m2 wird an DATA2 weitergegeben? – Alvin