• Hallo liebe Userinnen und User,

    nach bereits längeren Planungen und Vorbereitungen sind wir nun von vBulletin auf Xenforo umgestiegen. Die Umstellung musste leider aufgrund der Serverprobleme der letzten Tage notgedrungen vorverlegt werden. Das neue Forum ist soweit voll funktionsfähig, allerdings sind noch nicht alle der gewohnten Funktionen vorhanden. Nach Möglichkeit werden wir sie in den nächsten Wochen nachrüsten. Dafür sollte es nun einige der Probleme lösen, die wir in den letzten Tagen, Wochen und Monaten hatten. Auch der Server ist nun potenter als bei unserem alten Hoster, wodurch wir nun langfristig den Tank mit Bytes vollgetankt haben.

    Anfangs mag die neue Boardsoftware etwas ungewohnt sein, aber man findet sich recht schnell ein. Wir wissen, dass ihr alle Gewohnheitstiere seid, aber gebt dem neuen Board eine Chance.
    Sollte etwas der neuen oder auch gewohnten Funktionen unklar sein, könnt ihr den "Wo issn da der Button zu"-Thread im Feedback nutzen. Bugs meldet ihr bitte im Bugtracker, es wird sicher welche geben die uns noch nicht aufgefallen sind. Ich werde das dann versuchen, halbwegs im Startbeitrag übersichtlich zu halten, was an Arbeit noch aussteht.

    Neu ist, dass die Boardsoftware deutlich besser für Mobiltelefone und diverse Endgeräte geeignet ist und nun auch im mobilen Style alle Funktionen verfügbar sind. Am Desktop findet ihr oben rechts sowohl den Umschalter zwischen hellem und dunklem Style. Am Handy ist der Hell-/Dunkelschalter am Ende der Seite. Damit sollte zukünftig jeder sein Board so konfigurieren können, wie es ihm am liebsten ist.


    Die restlichen Funktionen sollten eigentlich soweit wie gewohnt funktionieren. Einfach mal ein wenig damit spielen oder bei Unklarheiten im Thread nachfragen. Viel Spaß im ngb 2.0.

Bash-Anfänger bittet um Hilfe bei Skript-Pararmetern

Cazawhi

Geht ein

Registriert
13 Feb. 2016
Beiträge
357
Ort
im Funkloch
Wollte das mal nicht ins Linux-Forum packen, auch wenn es Linux-Scripting ist, sonst klugscheißert MetalWarrior wieder. :D
Auf jeden Fall möchte ich ein Script schreibe, was auf Pararmeter hört. Das $1 der eingegeben Pararmeter ist, ist mir schon klar, allerdings habe ich bis auf irgendwelche hässlich verschachtelten if-Abfragen, die am Ende eh nicht funktionieren, noch keine gute Möglichkeit gefunden, die Pararmeter abzugreifen und auszuwerten.
Kann mir da einer der Linux-Menschen mal helfen? Das Internet bringt irgendwie auch keine sinnvolle Lösung für mich. Das Script soll so ca. 3-4 Pararmeter kennen, und nur auf Pararmeter reagieren, und ohne sich einfach schließen.

Danke schonmal für eure Hilfe, ich weiß total noobige Frage. :D

LG Cazawhi
 

virtus

Gehasst

Registriert
24 Apr. 2015
Beiträge
1.689
Ort
AUF DEM MOND
Könntest du vielleicht genauer schreiben, was das Script machen soll?
Um die hässlichen IF-Konstruktionen wirst du whsl nicht herum kommen.
 

Cazawhi

Geht ein

Registriert
13 Feb. 2016
Beiträge
357
Ort
im Funkloch
  • Thread Starter Thread Starter
  • #3
@virtus: Das Skript soll mit dem Pararmeter 'start' eine .jar ausführen, und mit dem Pararmeter 'stop' den Prozess der .jar wieder abschießen.
Und es soll noch den dritten/vierten Pararmeter 'load1' bzw. 'load2' haben, bei dem Konfigurationsdateien ausgetauscht werden, um zwei "Presets" zu haben.
 

sia

gesperrt

Registriert
26 März 2015
Beiträge
5.931
Ort
FFM (NSFW)
Weiß nicht, was man da großartig verschachteln muss:
[src=bash]if [ "$2" == "load1" ]; then

elif [ "$2" == "load2" ]; then

fi

case $1 in
"start") …;;
"stop") …;;
"restart") …;;
*) echo 'whoops, syntax: start|stop|restart [load1|load2]';;
esac[/src]

Würde allerdings eine PID bzw ein Lockfile einführen und darauf prüfen und den Parameter nicht load1/load2 nennen sondern vielleicht einen Pfad zur Konfigurationsdatei mitgeben lassen. Dafür vielleicht einen Parameter "-c" mit getopts nutzen.
 

Cazawhi

Geht ein

Registriert
13 Feb. 2016
Beiträge
357
Ort
im Funkloch
  • Thread Starter Thread Starter
  • #5
@phre4k: Sehr cool, danke. Folgenden Fehler gibt's noch:
[src=text]init.sh: 8: [: load2: unexpected operator
init.sh: 10: [: load2: unexpected operator[/src]

//Edit: Alles gut, hab's rausgefunden, muss halt einfach mal mit bash statt mit sh executen XD
 
Zuletzt bearbeitet:

Cazawhi

Geht ein

Registriert
13 Feb. 2016
Beiträge
357
Ort
im Funkloch
  • Thread Starter Thread Starter
  • #7
@phre4k: Bash-Shebang ist gesetzt, hab's aber aus gewohnheit mit sh gestartet, das war mein Fehler. :D

Ich möchte für den Stop-Befehl noch was machen. Der Plan ist, mit Grep die Prozess-ID vom Java-Prozess rauszufinden, und diesen zu killen.
Grep-Output (ps -ef |grep /usr/lib/jvm/):
[src=text]cazawhi 26636 26586 67 22:24 pts/0 00:00:15 /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java[/src]
Wie filtere ich mit Grep jetzt die Prozess-ID heraus? (in diesem Fall 26636).

//Edit: Alles klar, hab's. [src=bash]pgrep -f /usr/lib/jvm[/src]
 
Zuletzt bearbeitet:

sia

gesperrt

Registriert
26 März 2015
Beiträge
5.931
Ort
FFM (NSFW)
Oh oh, das kann aber gewaltig schief gehen. Daher hatte ich das PIDfile empfohlen ;)

btw, wenn du schnell Hilfe brauchst: #bash @ chat.freenode.net. Ich empfehle Hexchat zum Verbinden.
 

Cazawhi

Geht ein

Registriert
13 Feb. 2016
Beiträge
357
Ort
im Funkloch
  • Thread Starter Thread Starter
  • #9
@phre4k: @phre4k:
[src=bash]"stop") pkill -f java;;
"restart") pkill -f /usr/lib/jvm;;[/src]

Beim stop wird das gesamte Java gekillt - der Launcher der .jar auch.
Beim restart wird nur die Java Virtual Machine gekillt - Launcher bleibt offen.
 

Beezle

Mit-Glied

Registriert
15 Juli 2013
Beiträge
472
[src=bash]
java start_deine_jar.jar &
START_DEINE_JAR_PID=$!
.
.
.
kill $START_DEINE_JAR_PID
[/src]

So kannst du das machen.
 

Beezle

Mit-Glied

Registriert
15 Juli 2013
Beiträge
472
OK, das verstehe ich jetzt nicht. Was für ein Prozess wird durch die jar gestartet?
 

Cazawhi

Geht ein

Registriert
13 Feb. 2016
Beiträge
357
Ort
im Funkloch
  • Thread Starter Thread Starter
  • #14
@Beezle: Die .jar ist ein Launcher. Der Launcher hat seinen eigenen Prozess, der wiederum einen neuen Prozess heraufbeschwört.

Launcher:
[src=text]cazawhi 5619 1 0 14:25 pts/0 00:00:00 optirun -b primus -c yuf java -jar Launcher.jar[/src]

Der durch den Launcher gestartete Prozess:
[src=text]cazawhi 5680 5629 88 14:25 pts/0 00:00:12 /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java -Xmx3G -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode -XX:-UseAdaptiveSizePolicy -Xmn128M usw.. ewig lange beschreibung..[/src]

//Edit: Für die, die sich fragen was optirun ist: Das ist ein spezieller Treiber für Laptops mit NVidia-Grafikkarten und einem i5, der ja auch eine interne Graka hat. D.h optirun = nutz' die NVdia.
 
Zuletzt bearbeitet:
Oben