Stabsgefreiter schrieb:
bash c- cd ~/MyMDb-CE$ java -jar MyMDb-CE.jar
reinkopiert.
wenn ich die mdb.sh Datei mit Doppelklick starte, öffnet sich das Terminal, aber das programm wird nicht gestartet
Die Zeile sieht aus, als würdest Du gerne mal Buchstaben vertauschen, Groß-/Kleinfehler machen wie kB gezeigt hat, etc.
| bash -c cd ~/$MyMDb-CE java -jar MyMDb-CE.jar
|
sähe schlüssig aus (-c statt c-, $MyMDb statt MyMDb$).
Die Befehle sind aber so essenziell und konventionell - da brauchst Du keinen Bashaufruf für und auch nicht zwingend einen Shebang.
Mit rklm vermute ich, dass Du keinen Verzeichniswechsel benötigst - das hängt aber vom Javaprogramm ab. Wahrscheinlich genügt
| java -jar ~/MyMDb-CE/MyMDb-CE.jar
|
Java ist, wenn Du es nicht aus merkwürdigen Quellen bezogen hast (und selbst dann wahrscheinlich) ein Binary.
Wenn Du ein Script per Doppelklick und per Shellaufruf starten kannst, dann prüft man am besten erst in der Shell, weil man da Fehlermeldungen sieht, und wenn es klappt per Doppelklick.
So einen Einzeiler kann man aber, wenn man es später ausschließlich per Klick starten will, auch in den Startercode schreiben - ich vermute bei Deinem Lubuntu hast Du aber keinen eigenen Starter erstellt, aber Lubuntu hat einen Mechanismus Shellskripte in einem neuen Terminal zu öffnen - das ist auch fein.
Dann übergibst Du aber wahrscheinlich keine Parameter und das "$@" ist eine Empfehlung, die Du wahrscheinlich erst später brauchen kannst.
Es könnte nützlich sein, wenn Du Dir anschaust, wie die Fehlermeldungen der Shell für nicht existierende Programme aussehen und wie solche für nicht existierende Dateien und unbekannte Parameter/fehlende Parameter, was bei Legasthenikern wohl die Hauptfehler sind, die häufig passieren, damit Du solche Fehler rasch findest.
Empfehlen kann ich auch shellcheck
, ein Programm um Shellskripte auf korrekte Syntax zu checken. Das prüft zwar nicht, ob Dateien bzw. Variablen, die benutzt werden, existieren, aber findet eine hübsche Zahl von Fehlern. Allerdings musst Du auf den Unterschied zw. Fehler und Warnung achten und es hätte Dir bei dem Ausgangskommando nicht geholfen, weder bei c-, noch bei MyMDb-CE$.