[Suche] Python installationsskript

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hallo Leute,

    ich bin eine ziemliche Niete in Python, bräuchte nun aber für ein aktuelles Installationsskript. Ich habe schon viel gegoogelt und probiert, aber ich bekomme es einfach nicht so hin, wie ich es gerne hätte. Das Programm soll eine Whiptail Oberfläche aufrufen, bei der man ein paar Auswahlen und Texteingaben machen muss.


    So stelle ich es mir vor:
    Das Programm wird gestartet, eine Whiptail Oberfläche wird geöffnet. Erste Auswahlfrage: Willst du BeControlled(so heißt mein Projekt) installieren? Wenn mit ja geantwortet wird, soll gefragt werden, ob alle benötigten Objekte installiert werden sollen. Wenn ja, dann soll 'sudo apt-get install apache2 php5 git-core' ausgeführt werden. Wenn nein wird dieser Schritt einfach übersprungen. Danach muss das Verzeichniss des Webspace eingegeben werden(/var/www sollte schon drin stehen). Danach wird eine github Recource darein kopiert.

    Ich hoffe jemand hätte Spaß daran und könnte mir da ein bisschen helfen :)

    01010111 01100101 01110010 00100000 01100100 01100001 01110011 00100000 01101100 01101001 01100101 01110011 01110100 00100000 01101001 01110011 01110100 00100000 01100100 01101111 01101111 01100110

  • Ich hab versucht genau das hinzubekommen, aber mit den Shellscripten, dem überspringen der einen Frage bei 'Nein' und besonders dem Auswahl des Verzeichnisses habe ich Probleme

    01010111 01100101 01110010 00100000 01100100 01100001 01110011 00100000 01101100 01101001 01100101 01110011 01110100 00100000 01101001 01110011 01110100 00100000 01100100 01101111 01101111 01100110

    Einmal editiert, zuletzt von beecoopcool (13. März 2015 um 18:02)


  • Die Texte muss ich noch ein bisschen anpassen :)

    01010111 01100101 01110010 00100000 01100100 01100001 01110011 00100000 01101100 01101001 01100101 01110011 01110100 00100000 01101001 01110011 01110100 00100000 01100100 01101111 01101111 01100110

    Einmal editiert, zuletzt von beecoopcool (13. März 2015 um 18:11)

  • Hallo,

    erstmal ein wenig Kritik :fies:

    Zitat


    Willst du BeControlled(so heißt mein Projekt) installieren?


    Zum feinen Stil gehört es, den Nutzer nicht mit Abfragen zu nerven.
    -> Wieso sollte der Nutzer das Installationsskript denn sonst starten?

    Zitat


    Wenn mit ja geantwortet wird, soll gefragt werden, ob alle benötigten Objekte installiert werden sollen.


    Klar soll das geschehen, denn der Nutzer will ja dein Projekt installieren.
    -> Du kannst selbst ermitteln, welche Pakete da sind und welche fehlen.

    Dennoch hier ein Auszug aus meinem Verzeichnis für Codeschnipsel, die man immer mal wieder brauchen kann (Bash):

    Yes-No Dialog

    Spoiler anzeigen

    Entry Dialog

    Spoiler anzeigen

    ___
    edit: Die Syntax von whiptail und dialog ist fast identisch

  • Danke, aber
    1. Wie überprüfe ich das mit den Paketen?
    2. Wie kriege ich das mit den shell commands hin?

    Und mit den unnötigen Fragen haste recht ;)

    01010111 01100101 01110010 00100000 01100100 01100001 01110011 00100000 01101100 01101001 01100101 01110011 01110100 00100000 01101001 01110011 01110100 00100000 01100100 01101111 01101111 01100110

  • Zitat

    Wie überprüfe ich das mit den Paketen?


    z.B so:

    Code
    for i in apache2 php5 git-core
    do
            if ! dpkg -s $i &>/dev/null
            then
                    echo "$i ist nicht installiert. Installiere..."
                    sudo apt-get install $i
            fi
    done
    Zitat

    Wie kriege ich das mit den shell commands hin


    Geht das genauer? :thumbs1:
    ____
    edit: So ist der Code besser

  • Genauer: Wie lasse ich das Programm einen Befehl in der Konsole ausführen lassen

    Ps: Ich schreibe es glaube ich nicht in python

    Vielen Dank an euch alle :bravo2:,

    für alle die es interessiert, hier mein fertiger Quellcode:

    01010111 01100101 01110010 00100000 01100100 01100001 01110011 00100000 01101100 01101001 01100101 01110011 01110100 00100000 01101001 01110011 01110100 00100000 01100100 01101111 01101111 01100110

    Einmal editiert, zuletzt von beecoopcool (13. März 2015 um 20:02)

Jetzt mitmachen!

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