Der Code-Schnippsel-Thread

  • -O hätte ich in der Tat nutzen können. Den anderen Parameter kenne ich nicht, er wird in der Manpage aber auch als experimentell bezeichnet, weshalb ich ihn nicht verwende.

  • Habe das Spiel "Denkfix" in Perl nachgebaut. Das ganze unterstützt mehrere Spieler, deren Punkte entsprechend gezählt werden. Sowohl Frage als auch Buchstabe sind jedes Mal zufällig.

    Damit es läuft, benötigt es noch eine fragen.txt, die einfach die Fragen untereinander enthält.

    Beispiel:

    Spoiler anzeigen


    Etwas, was Du an den Strand mitnimmst
    Ein amerikanischer Präsident
    Ein Politiker
    Eine Rockband
    Ein Rapper
    Eine Automarke
    Etwas, was Du mit Winter in Zusammenhang bringst
    Etwas, was Du mit Sommer in Zusammenhang bringst
    Ein Sportler
    Eine Sportart
    Ein Künstler
    Eine Zeitschrift
    Eine Tageszeitung
    Ein Musikinstrument
    Ein elektronisches Bauteil
    Etwas, was im Badezimmer nicht fehlen darf
    Ein Philosoph
    Ein bekannter Schriftsteller
    Ein Radiosender
    Ein Fernsehsender
    Ein Fernsehmoderator
    Ein Snack
    Etwas, was dick macht
    Ein Teil des Autos
    Eine Partei
    Ein diktatorisch geführter Staat
    Ein Verbrechen
    Ein Fortbewegungsmittel
    Eine Inselgruppe
    Eine Stadt in Deutschland
    Ein Gemälde
    Eine Musikrichtung
    Ein Tanz
    Ein Kommunikationsmittel
    Ein Speichermedium
    Eine Hunderasse
    Ein Tier, das fliegen kann
    Etwas, was unter Gefängnisstrafe steht
    Etwas lebensgefährliches
    Etwas, was bei keiner Musikanlage fehlen darf
    Eine Stadt in Amerika
    Ein Staat in Europa
    Ein Meerestier
    Eine Sehenswürdigkeit
    Ein Buchverlag
    Eine Bücherreihe
    Ein Roman
    Eine Sprache
    Ein Songtitel
    Eine Raubkatze
    Ein Parasit
    Eine Eissorte
    Ein Schlagerstar
    Eine Pferderasse
    Eine Hunderasse
    Ein Verkehrsmittel
    Eine Stoffart
    Ein chemisches Element
    Ein Schulfach
    Ein Fluss in Europa
    Eine Baumart
    Ein Kleidungsstück
    Eine Fernsehsendung
    Ein Kabarettist
    Ein Greifvogel
    Eine Quallenart
    Ein asiatisches Unternehmen
    Etwas zum Schminken
    Ein Bauteil des Computers
    Ein Parfüm
    Etwas, was man in der Handtasche findet
    Ein Hersteller von Fahrrädern
    Etwas, was man auf einer Radtour immer dabei haben sollte
    Ein Agility-Hindernis
    Ein Hersteller von Aufzügen
    Eine Blumenart
    Ein Kochutensil
    Ein Putzuntensil
    Ein Fastfood-Gericht
    Ein Berg
    Ein Mobilfunkanbieter
    Ein bekanntes Gefängnis
    Etwas für den Hund
    Ein Fußballspieler
    Ein Fußballverein
    Ein bekannter Leichtathlet
    Ein Olympiasieger
    Ein bekannter Reiter
    Eine Programmiersprache
    Ein Lied, das man gut mitsingen kann
    Ein bekanntes Instrumental-Lied
    Etwas aus dem Wohnzimmer
    Eine Bettenart
    Ein bekanntes Straßenfest
    Eine Fußkleidung
    Ein Sternekoch
    Eine Farbe
    Ein Teil des Autos
    Ein Zuebhör für Reiter
    Eine Bootsklasse beim Rudern
    Ein Hersteller von Elektronikgeräten
    Ein Zubehör für den Vogelkäfig
    Eine Schlangenart
    Eine Märchengestalt
    Ein Gas
    Ein Getränk
    Eine Sagengestalt
    Ein Superheld
    Eine Zeichentrickserie
    Ein Betriebssystem
    Eine Satirezeitschrift
    Ein Dienstgrad beider Bundeswehr
    Ein Gericht beim Italiener
    Ein Gericht bei der Pommesbude
    Eine Nachrichtensndung
    Eine Stadt in NRW
    Eine physikalische Einheit
    Eine Währung
    Ein türkischer Vorname
    Ein Möbelhersteller
    Etwas, was Du nachts machst
    Ein Gericht von Subway
    Eine mathematische Operation
    Ein Verkehrsschild
    Eine Zahl ausgeschrieben
    Eine Hundefuttermarke
    Eine Garungsform des Steaks
    Ein mathematisches Gesetz
    Ein Kamerahersteller
    Ein Unternehmen aus Italien
    Etwas, was du NICHT bei Mcdonalds bekommst
    Ein Extremsport
    Eine Schwimmtechnik
    Eine Musikrichtung
    Ein Musiker
    Eine Supermarktkette
    Ein Onlineshop
    Eine Netzwerkkomponente
    Ein alkoholisches Getränk
    Ein alkoholfreies Getränk
    Ein Actionfilm
    Ein Ermittler aus einem Krimi
    Etwas, was stinkt
    Etwas, was jeder von uns zuhause hat

  • Sky Radio hören und dabei immer sehen, welches Lied läuft:

    Code
    mplayer http://8513.live.streamtheworld.com:80/SKYRADIOAAC_SC 2>&1 | grep -i "icy info"
  • Meine i3-Config, falls wer damit was anfangen kann:

    Meine Beiträge stehen unter der MIT-Lizenz :)


    externe HDD am Router? Klar ich tausch mein Auto gegen nen Tretroller mit Bremsklotz.

  • Grade auf Arbeit zusammengefrickelt. Keine Ahnung ob das so tut, wie ich mir das denke.

    Meine Beiträge stehen unter der MIT-Lizenz :)


    externe HDD am Router? Klar ich tausch mein Auto gegen nen Tretroller mit Bremsklotz.

    Einmal editiert, zuletzt von tk1908 (9. Juli 2015 um 14:14)

  • Du musst nach den [ ein Leerzeichen setzen, sonst wird /bin/[ nicht gefunden. Zwei ifs fehlt das fi.

    Auch würde ich Variablen grundsätzlich zur besseren Lesbarkeit in {} setzen. Beispiel: ${system}

    Vonner Idee her aber cool.


  • Grade auf Arbeit zusammengefrickelt. Keine Ahnung ob das so tut, wie ich mir das denke.

    Die ganzen $?-Abfragen kannst du dir sparen:

    Variablen sollten grundsätzlich geschützt werden (als ${var} wenn sie in Kontext mit anderen Zeichen stehen und in Anführungszeichen, wenn sie Leerraum, der nicht als Token-Trenner dienen soll, enthalten können), das ist in diesem Falle aber für $timer nicht notwendig, da es sich um eine interne Integer-Variable handelt, die niemals Benutzereingaben enthält.

    pgrep und pkill sind generell die effizientere Alternative zum manuellen Auseinandernehmen der Ausgabe von ps. Die korrekte Zeile wäre sonst

    Code
    ps ax | grep wget | grep -v grep


    da das erste grep sich selber ("grep wget" enthält ebenfalls "wget") in der Prozessliste finden würde. Vor allem sind sie im Gegensatz z. B. zu killall auch auf BSD verfügbar.

  • Die ganzen $?-Abfragen kannst du dir sparen:

    Variablen sollten grundsätzlich geschützt werden (als ${var} wenn sie in Kontext mit anderen Zeichen stehen und in Anführungszeichen, wenn sie Leerraum, der nicht als Token-Trenner dienen soll, enthalten können), das ist in diesem Falle aber für $timer nicht notwendig, da es sich um eine interne Integer-Variable handelt, die niemals Benutzereingaben enthält.

    pgrep und pkill sind generell die effizientere Alternative zum manuellen Auseinandernehmen der Ausgabe von ps. Die korrekte Zeile wäre sonst:

    Code
    ps ax | grep wget | grep -v grep


    da das erste grep sich selber ("grep wget") in der Prozessliste finden würde. Vor allem sind sie im Gegensatz z. B. zu killall auch auf BSD verfügbar.


    Merci

    Allerdings steh ich bei den pings aufm Schlauf. Ziel ist es, sobald kein Host mehr pingbar ist, also der gesamte Durchlauf einen exit code 1 liefert, timer nicht zu erhöhen, da dann ja kein Client mehr aktiv ist, was ja gewünscht ist.
    Ist mein Gedankengang hier korrekt?

    Meine Beiträge stehen unter der MIT-Lizenz :)


    externe HDD am Router? Klar ich tausch mein Auto gegen nen Tretroller mit Bremsklotz.

  • Du kannst mit nem ! negieren. Sprich:
    if ! ping -c2 $system > /dev/null; then

    Das würde dann matchen, wenn ping NICHT erfolgreich ist.


  • Allerdings steh ich bei den pings aufm Schlauf. Ziel ist es, sobald kein Host mehr pingbar ist, also der gesamte Durchlauf einen exit code 1 liefert, timer nicht zu erhöhen, da dann ja kein Client mehr aktiv ist, was ja gewünscht ist.
    Ist mein Gedankengang hier korrekt?

    Ja. Die Shell wertet die Ausführung von pgrep oder ping nur als "wahr" im Sinne der if-Abfrage, wenn es einen Fehlercode von null (= Erfolg, also Prozess gefunden bzw. mindestens ein Ping-Echo) zurückgibt. Ansonsten kannst du wie von mrshadowtux beschrieben den Wahrheitswert mit ! umkehren, wenn du z. B. wissen willst, ob ein bestimmter Prozess nicht mehr läuft.

  • Ja. Die Shell wertet die Ausführung von pgrep oder ping nur als "wahr" im Sinne der if-Abfrage, wenn es einen Fehlercode von null (= Erfolg, also Prozess gefunden bzw. mindestens ein Ping-Echo) zurückgibt. Ansonsten kannst du wie von mrshadowtux beschrieben den Wahrheitswert mit ! umkehren, wenn du z. B. wissen willst, ob ein bestimmter Prozess nicht mehr läuft.

    Ok. Dann passt das ja so. Ziel ist halt, den Server nachts runterzufahren, wenn kein Client mehr drauf zugreift und kein Download aka wget mehr läuft.

    Meine Beiträge stehen unter der MIT-Lizenz :)


    externe HDD am Router? Klar ich tausch mein Auto gegen nen Tretroller mit Bremsklotz.

    Einmal editiert, zuletzt von tk1908 (9. Juli 2015 um 14:41)

  • Warum läßt du bei PHP eigentlich immer das ?> weg? das ist total verwirrend.

    Aber ja, direkt die Funktionen ineinander übergreifen zu lassen ist ne schöne Lösung, war mir nicht allen davon bewusst.

  • Funktioniert so auch nicht. Sort gibt nen Boolean zurück und keinen sortieren String aus einem Array, wie ich angenommen habe...

    Weil man den schließenden Tag nicht braucht und es die Performance verbessert, ihn bei reinen PHP Dateien weg zu lassen.


  • Warum läßt du bei PHP eigentlich immer das ?> weg? das ist total verwirrend.


    Hat sich als gute Praxis rausgestellt; Grund: Wenn nach ?> noch Whitespace steht (viele Editoren fügen in der letzten Zeile z.B. ungefragt einen Zeilenumbruch ein), dann ist das dann auch im Output enthalten. Macht bei HTML vermutlich nichts, wenn man dem </html> noch etwas Whitespace rumgammelt, bei anderen Dateiformaten je nach dem aber schon. Mit Performance hat das nichts zu tun.

    Nachtrag: Problematisch ist es auch, wenn man PHP-Dateien inkludiert. Dann zerhaut einem das Whitespace den Output, das ist tödlich wenn z.B. noch keine HTTP-Header gesetzt wurden, weil PHP dann die Header frühzeitig raushauen muss.

  • Ich habe es so gelernt, dass ?> zwingend notwendig ist und hatte dahingehend nie Probleme. Wenn natürlich der Editor so konfiguriert ist, dass er am Ende des Dokumentes Whitespace macht, kann das theoretisch natürlich solche Probleme machen. Den Fall hatte ich bisher aber noch nicht und man kanns in den meisten Editoren ja konfigurieren.

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!