Forum: PC-Programmierung Frage zum Erstellen eines Bash Skriptes


von Frank L. (Firma: Flk Consulting UG) (flk)


Lesenswert?

Hallo Zusammen,

ich habe hier eine Windows Anwendung die ich über Wine in Linux aufrufe. 
Diese Windows Anwendung kann mit diversen Parametern  gefüttert werden.

Hierbei können es mal ein aber durchaus auch bis zu drei Parameter sein.

Jetzt suche ich einen Ansatz, um den eigentlichen Aufruf in einem Skript 
zu verbergen und trotzdem mit einer unterschiedlichen Anzahl Parameter 
klar zu kommen.

Hier mal ein paar Beispiel wie solche Aufrufe in der Konsole aktuell 
unter Linux aussehen:
1
wine bre init
2
wine bre run src/ListEventsConfiguration/Custom/test.js
3
wine bre run src/ListEventsConfiguration/Custom/test.js -d
4
wine bre --version

und hier möchte ich hin:
1
bre init
2
bre run src/ListEventsConfiguration/Custom/test.js
3
bre run src/ListEventsConfiguration/Custom/test.js -d
4
bre --version


Ziel ist es den Aufruf so nahe wie möglich an den Aufruf unter Windows 
heranzubringen. Hintergrund dieser Aktion ist, dass wir einige 
Windows-Anwender (Consultants) haben, die mit dieser 
Entwicklungsumgebung arbeiten können sollen. Diese Anwender sind in der 
Regel nur in VS-Code und Edge auf der Linux VM unterwegs. Das heißt 
dieser Skript wird ausschließlich in VS Code aus einer Terminalsitzung 
heraus aufgerufen.

Für ein paar Tipps oder aufschlussreiche Seite mit Hinweisen wäre ich 
dankbar.

Gruß
Frank

von Εrnst B. (ernst)


Lesenswert?

in die ~/.bash_aliases eintragen:

alias bre="wine bre"

von Frank L. (Firma: Flk Consulting UG) (flk)


Lesenswert?

Hallo Ernst,

Danke, das war zu einfach :-)

Gruß
Frank

von Εrnst B. (ernst)


Lesenswert?

für die Windows-Consultants fehlt noch:

PS1="C:\\>"

:)

von Tom K. (ez81)


Lesenswert?

Alternativ, um alle Parameter des Scripts durchzuschieben, geht "$@" 
inkl. Anführungszeichen:
1
#!/bin/bash
2
wine /some/where/bla.exe "$@"

von Konsul (Gast)


Lesenswert?

Frank L. schrieb:


> Danke, das war zu einfach :-)


wineconsole

von Frank L. (Firma: Flk Consulting UG) (flk)


Lesenswert?

Hallo,

@Ernst, keine schlechte Idee :-)

@Tom, ich hatte schon einiges zum Thema "$@" gelesen, darüber bin ich 
noch nicht gestolpert oder ich habe es überlesen.

@Konsul, kommt nicht in Frage, das Ganze muss so einfach und so nahe wie 
möglich an die Windows Umgebung heran kommen.

Insgesamt, haben wir jetzt eine VM aufgebaut, in der nur die aller 
notwendigsten Sachen enthalten sind. Aller Ballast wie Office Pakete 
oder ähnliches wurden gar nicht erst installiert.

Die VM umfasst lediglich:

- VS Code
- NVM - zur Installation der verschiedenen node.js Versionen
- Powershell 7.x inkl. pnp.powershell und ein paar anderer Module
- Edge for Linux (Chromium)
- Firefox
- einige VS Code Extensions (offizielle und von uns erstellt)
- GIT
- unsere Windows Anwendung mit deren Hilfe wir SharePoint Event Receiver 
direkt in VS Code debuggen können.

Als Oberfläche verwenden wir XFCE4, Basis ist Debian 11. Hier konnten 
wir auch das Skalierungsproblem bei 4K Monitoren lösen da eine 2x 
Skalierung in der Version von XFCE4 vorhanden ist. Ist etwas grob, 1.5 
wäre auch gut gewesen aber das ist Jammern auf höchstem Niveau.

Wo wir bisher die VM unter Windows mit 16 GB Ram laufen lassen mussten 
benötigen wir jetzt nur 8 GB zur Not sogar nur 4 GB RAM um komfortabel 
arbeiten zu können. Von den ganzen Windows-Lizenzen die wir nicht mehr 
benötigen mal abgesehen. Die Größe der HDD in der VM konnten wir von 125 
GB auf 80 GB reduzieren, die wir bei Bedarf vergrößern. Leider 
verbrauchen wir bei den lokalen Modulen innerhalb des node_module 
Zweiges eines Projekte recht viel Speicherplatz.

Alles in allem hat sich der Aufwand wirklich gelohnt auch wenn wir 
einmalig wirklich Zeit investieren mussten und die VMs bestimmt 8x neu 
aufgesetzt haben um jetzt diesen Stand zu erhalten. Ein paar 
Optimierungen werden wir mit Sicherheit im Laufe der Zeit noch finden 
und einbauen.

Nochmal vielen vielen Dank an alle die mir geduldig geantwortet haben 
und und mit deren Hilfe wir das Projekt auf diesen Stand gebracht haben.

Gruß
Frank

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.