Dialogboxen

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von Nexus633, 11.01.2014.

  1. #1 Nexus633, 11.01.2014
    Nexus633

    Nexus633 Eroberer

    Dabei seit:
    10.01.2014
    Beiträge:
    56
    Zustimmungen:
    0
    Hallo,
    ich setzte mich seit einigen Wochen/Monaten mit der bash/Shell auseinander.
    Nun habe ich folgendes Problem.

    Ich bin mit Entwickler der Software easyPANEL.
    easyPANEL ist ein Webinterface was mittels Shell Skripte Server steuert.

    Nun möchte ich meinen Anwendern auch ein Ordentliches Install Script schreiben.
    Dazu verwende ich "Dialog"

    Bei dem Paket "Dialog" stellte ich leider fest, das es ja net so dolle ausschaut, vlt. liegt es ja auch an mir.

    ein kleines Beispiel.

    dialog.png

    Code:
    dialog --msgbox "Diese k,x,u,q und j\nrechts der Box meine ich" 10 0

    Wie bekomme ich diese k,x,u,q und j weg, das ich ein sauberes Script bekomme ?
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. #2 schwedenmann, 11.01.2014
    schwedenmann

    schwedenmann Foren Gott

    Dabei seit:
    18.11.2003
    Beiträge:
    2.635
    Zustimmungen:
    2
    Ort:
    Wegberg
    Hallo

    nutzt du auf dem PC utf-8 ?

    Mit welchem Terminal rufst du du das script auf ?

    Nimm mal einen anderen Terminal

    mfg
    schwedenmann
     
  4. #3 Nexus633, 11.01.2014
    Nexus633

    Nexus633 Eroberer

    Dabei seit:
    10.01.2014
    Beiträge:
    56
    Zustimmungen:
    0
    Hallo,
    ich nutze Windows, bin in der "Bash", verbinde mich mit Putty.
    Ich habe das gefühl das es an Debian 7 liegt.

    Giebt es noch andere Möglichkeiten dialogboxen zu schreiben?

    getestet habe ich:
    dialog
    whiptail (wobei hier weiter pakete vorhanden sein müssen)
    Xdialog (wobei hier weiter pakete vorhanden sein müssen)

    Ich wollte das ganze auch schon C/C++ machen leider suche ich mic da zu tode :-)
     
  5. #4 nighT, 11.01.2014
    Zuletzt von einem Moderator bearbeitet: 11.01.2014
    nighT

    nighT Guest

    Das liegt am verwendeten Charset.

    Wenn du in Putty testweise auf das Charset "ISO-8859-1:1998 (Latin-1, West Europe)" umstellst, wird es wie im Screenshot aussehen.

    Das aktive Charset ist im Normalfall in $LC_CTYPE gespeichert bzw. lässt sich auch darüber ändern - solange das gewünschte Charset überhaupt vorhanden ist...

    PS: Im Beispiel ebenfalls über Putty auf einem Debian in der Bash.
     

    Anhänge:

    • bsp.PNG
      bsp.PNG
      Dateigröße:
      4,7 KB
      Aufrufe:
      17
  6. #5 Nexus633, 11.01.2014
    Nexus633

    Nexus633 Eroberer

    Dabei seit:
    10.01.2014
    Beiträge:
    56
    Zustimmungen:
    0
    Ahh super.
    Ok mit den Charsets habe ich mich noch nicht auseinandergesetzt.

    A: Wie kann ich das im Script anwenden ?
    B: Wie kann ich vorraussetzten das Der Kunde das installiert hat ?

    Ich danke für eure Hilfe :-)
     
  7. nighT

    nighT Guest

    Zu A:
    Du kannst im Script die Variable LC_CTYPE entsprechend setzen. Dies gilt dann für die aktive Shell - also nur für dein Script. Alle anderen Shells sind davon dann nicht betroffen.

    Zu B:
    Code:
    locale -a
    gibt dir eine Übersicht der verfügbaren Locale+Charmaps.

    Ich würde spezielle Locale oder Charset aber nicht als Voraussetzung für dein Tool nehmen....
    UTF-8 ist m.M. nach am weitesten verbreitet und als Serveradmin würde ich keine Software einsetzen, die mich dazu zwingt, spezielle Charsets zu installieren...
     
  8. #7 Nexus633, 11.01.2014
    Nexus633

    Nexus633 Eroberer

    Dabei seit:
    10.01.2014
    Beiträge:
    56
    Zustimmungen:
    0
    Genau das ist der Punkt :-)
    Ich möchte nur Standard Material verwenden.
    Dem Kunde ist es selber überlassen welche Software er hat.

    Ich möchte allerdings das es natürlich überall funzt :-)
    Somit muss ich ja Software nutzen die jedes system von grundauf Installiert hat :-)

    Ich werde das mal testen und werde gleich was dazu schreiben :-)
    Ich danke dir
     
  9. #8 Nexus633, 11.01.2014
    Nexus633

    Nexus633 Eroberer

    Dabei seit:
    10.01.2014
    Beiträge:
    56
    Zustimmungen:
    0
    Ich sage ja im bereich Bash/Shell habe ich noch einiges zu lernen :-)

    Ich habe es jetzt mal ausprobiert so wie ich es einsetzten würde: (Halt Ahnungslos)

    Code:
    #!/bin/bash
    
    
    LC_CTYPE=de_DE.utf8
    DIALOG=${DIALOG=dialog}
    
    $LC_CTYPE
    
    $DIALOG --title " Ein Dialog" --clear \
            --yesno "So habe ich es versucht :-)" 10 30
    
    case $? in
      0)
        clear
        echo "Yes2 chosen.";;
      1)
        clear
        echo "No2 chosen.";;
      255)
        clear
        echo "ESC pressed.";;
    esac
    
    Leider ohne erfolg.
    Das hornt mich so sehr :-)
     
  10. #9 nighT, 11.01.2014
    Zuletzt von einem Moderator bearbeitet: 11.01.2014
    nighT

    nighT Guest

    Environment-Variablen werden wie folgt gesetzt:
    Code:
    export LC_CTYPE=de_DE.utf8
    
    Und was erhoffst du dir von
    Code:
    $LC_CTYPE
    ? Sollte wohl eher
    Code:
    echo $LC_CTYPE
    heißen, wenn es dir um die Ausgabe geht...

    Edit: Oder aber du wolltest folgendes:
    Code:
    LC_CTYPE=de_DE.utf8
    export $LC_CTYPE
    
    Das geht natürlich auch.

    PS: Du musst natürlich beachten, dass die Änderungen, die du durchführst sich nur auf Sessions direkt auf der Shell auswirken. Putty überschreibt die Einstellung eben mit der oben genannten Einstellung.
     
  11. #10 Nexus633, 11.01.2014
    Nexus633

    Nexus633 Eroberer

    Dabei seit:
    10.01.2014
    Beiträge:
    56
    Zustimmungen:
    0
    Super :)
    ich danke dir :) :)

    Ich frage viel ich weiß. Tut mir leid :-)
    Und meine Vorgehendsweise ist auch nicht immer die bester.
    Mit Export habe ich bis Dato noch nicht gearbeitet.

    Ich wette auch mit dir, das wenn du über Teamviewer auf meine Arbeiten schaust, du mit dem Kopf schütteln würdest :-)

    Es sind eindeutig zuviel Charset´s um die jetzt hierrein schreiben zu können.

    de_DE.utf8 hat es nicht gebracht.

    Ich teste auch alle runter :-)
    Kannst du mir das sagen welcher der richtige ist ?
    UTF-8 gibt es viele .-)
     
  12. nighT

    nighT Guest

    Wenn du dich mit Putty verbindest, bringt dir eine Änderung der Charmap nichts, da Putty seine eigene Einstellung verwendet.

    Warum suchst du denn eigentlich die "richtige" Charmap? Nur um diese Zeichen um den Dialog weg zu bekommen?

    Ich würde mal behaupten, dass es einem Systemadmin wenig auf das Aussehen ankommt - solange es eben tut, was es soll! (wir sind es gewohnt, unter der Shell zu arbeiten - und zumindest ich bin froh drum ;) )
    Mir ist sogar ein Script lieber, welches ohne Dialog auskommt (ist z.B. auch nicht überall standardmäßig dabei) und mir lieber ausführliche Informationen direkt auf der Shell ausgibt und mich auch dort nach Eingaben frägt, die ich per "y" oder "n" oder ähnliches beantworte...
     
  13. #12 Nexus633, 11.01.2014
    Nexus633

    Nexus633 Eroberer

    Dabei seit:
    10.01.2014
    Beiträge:
    56
    Zustimmungen:
    0
    Klar.
    Ich stehe aber auf aussehen und Funktion. Irgendwo hebt es einen auch von einen Anderen ab.
    Mir geht es da um die Kunden.
    Klar ich würde es auch so lassen (wenn es sein muss), wenn ich es allerdings vermeiden kann mache ich es anders :)

    Ich möchte am liebsten das es Perfekt ist. Ein schönes aussehen eine gute Funktion sagt schon eineges aus.
    Vorallem steht da ja ein Unternehmen dahinter :)
    Da ist es mir noch wichtiger :)
     
  14. #13 tgruene, 11.01.2014
    tgruene

    tgruene Routinier

    Dabei seit:
    02.02.2012
    Beiträge:
    418
    Zustimmungen:
    0
    Ich setze meist LC_ALL=C. Solange Du nur 7bit-ASCII benutzt, muesste das funktionieren.
     
  15. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  16. #14 Nexus633, 11.01.2014
    Nexus633

    Nexus633 Eroberer

    Dabei seit:
    10.01.2014
    Beiträge:
    56
    Zustimmungen:
    0
    Es will bei mir einfach nicht Funktionieren.

    Ich bekomme immer diese Fehler in der Dialogbox.
    Das ärgert mich richtig :(

    Nochmal zur erleuterung:
    Ich möchte das ganze als ein Installer Nutzen.
    Dieser soll die für das Webinterface benöigten Pakete Installieren.

    Derzeit läuft es alles Ohne Dialog.
    Wir wollen es aber Ordentlicher aussehen lassen mit Dialogboxen oder anderen Dialogen die auf dem Grundsystem vorhanden sind.

    Das Problem an der sache sind die Fehlerhaften Zeichen im Dialog. (Siehe Bild Oben 1. Post)
    Ich habe nun alles was hier geschrieben wurden ist ausprobiert Ohne erfolg :(

    Kann mir jemand ein kleines beispiel in form eines Scripts zeigen.

    Code:
    #!/bin/bash
    
    LC_CTYPE=de_DE.utf8
    export $LC_CTYPE
    
    DIALOG=${DIALOG=dialog}
    
    $DIALOG --title " Ein Dialog" --clear \
            --yesno "So habe ich es versucht :-)" 10 30
    
    case $? in
      0)
        clear
        echo "Yes2 chosen.";;
      1)
        clear
        echo "No2 chosen.";;
      255)
        clear
        echo "ESC pressed.";;
    esac
    
    So ein Beispiel ? :)

    Ihr würdet mir sehr helfen.
     
  17. nighT

    nighT Guest

    Ich habe dir doch schon 2x geschrieben, warum das mit Putty direkt im Script nicht funktioniert und du die Einstellung in den Putty-Settings vornehmen musst?!
    Und dialog ist, soweit ich weiß, unter Debian und auch unter Fedora/CentOS nicht standardmäßig installiert!
     
Thema:

Dialogboxen

Die Seite wird geladen...

Dialogboxen - Ähnliche Themen

  1. Installationsskripte sind eingedeutscht, aber falsche Anzeige in Dialogboxen

    Installationsskripte sind eingedeutscht, aber falsche Anzeige in Dialogboxen: ... und zwar geht es um die beiden Skripte in der deutschen Fassung von PCLinuxOS. Diese liegen im Verzeichnis /usr/share/draklive-install:...