Välkommen till linuxportalen.se!

Linuxportalen.se är Sveriges största och aktivaste webbplats för användare av öppen- och fri programvara.

Du besöker Linuxportalen.se som gäst vilket begränsar din möjlighet att använda webbplatsens alla funktioner. Genom att registera dig som medlem får du inte bara möjlighet att söka bland webbplatsens innehåll, skapa nya och delta i befintliga diskussioner, skapa din egen blogg, kommunicera med andra medlemmar genom privata meddelanden och delta i omröstningar. Du får också tillgång till Veckans Kadavro - en seriestrip unikt skapad för Linuxportalen.se!

Registeringen sker snabbt och är helt kostnadsfri - tveka inte, bli medlem idag!

Konvertera shellscript till python!

Fick en idee idag om att jag skulle ta och konvertera lite gamla script, skrivna för bash till python samt php! Var längesen jag skrev något i python nu, märkt att jag glömt bort en del! Hursomhelst har börjat skriva om mitt serveradmin script från scratch och har fått en hel del nya uppslag till hur jag ska skriva det och förbättra det. Vill att det ska göra betydligt mer än mitt gamla script. Upptäckt att python är ett riktigt trevligt språk att skriva kod i, php verkar funka det också på sitt sätt. Gamla scriptet finns här, http://www.linuxportalen.se/blogs/tomasuu/2011/05/20/mitt-upphottade-ser...

Kanske lite dumt att dumpa kod såhär, har dock en förhoppning om att andra ska kunna lära sig något från denna kod. Curses är ett riktigt trevligt bibliotek att använda och scriptet nedan är skrivet med komplett stöd för svenska tecken, shebang m.m Såhär ser mitt nya script ut, uppdateringar kommer! Har slängt in scriptet som vanligt /usr/local/bin och även där skapat en katalog som heter .serveradmin tänkte bland annat skriva ytterligare några pythonfiler där. Grunden till mitt nya script ser ut såhär!

P.S Där det är smilegubbar ska det vara ( 0 ) utan mellanslag

#!/usr/bin/env python
# -*- coding: utf-8 -*-
#Licens:GNU General Public License
# Written by Uzi juni 2011

from os import system
import curses

def get_param(prompt_string):
    screen.clear()
    screen.border(Innocent
    screen.addstr(2, 2, prompt_string)
    screen.refresh()
    input = screen.getstr(10, 10, 60)
    return input

def execute_cmd(cmd_string):
    system("clear")
    a = system(cmd_string)
    print ""
    if a == 0:
        print "Kommando utfört"
    else:
        print "Kommandot kunde ej verkställas, programvara saknas"
    raw_input("Tryck Enter")
    print ""

x = 0

while x != ord('q'):
    screen = curses.initscr()

    screen.clear()
    screen.border(Innocent
    screen.addstr(2, 2, "Välj...")
        screen.addstr(3, 4,  "0 - Användaralternativ")
        screen.addstr(4, 4,  "1 - Ladda hem samt installera systemuppdateringar")
    screen.addstr(5, 4,  "2 - Användarhantering samt grupphantering")
    screen.addstr(6, 4,  "3 - Logghantering")
    screen.addstr(7, 4,  "4 - Kör bashversionen av serveradmin")
        screen.addstr(8, 4,  "5 - Hantera processer")
        screen.addstr(9, 4,  "6 - Pakethantering")
        screen.addstr(10, 4, "7 - Hantera starttjänster")
        screen.addstr(11, 4, "8 - system")
        screen.addstr(12, 4, "9 - Nätverksanalys")
    screen.addstr(25, 4, "q - Avsluta")
    screen.refresh()

    x = screen.getch()

        if x == ord('0'):
                curses.endwin()
                execute_cmd("/usr/local/bin/.serveradmin/Custom.py")
        if x == ord('1'):
                curses.endwin()
        execute_cmd("apt-get update")
        execute_cmd("apt-get upgrade")
        execute_cmd("apt-get dist-upgrade")
    if x == ord('2'):
        curses.endwin()
        execute_cmd("/usr/local/bin/.serveradmin/User.py")
    if x == ord('3'):
        curses.endwin()
        execute_cmd("/usr/local/bin/.serveradmin/Log.py")
    if x == ord('4'):
        curses.endwin()
        execute_cmd("ServerAdmin")
        if x == ord('5'):
                curses.endwin()
                execute_cmd("/usr/local/bin/.serveradmin/ps.py")
        if x == ord('6'):
                curses.endwin()
                execute_cmd("/usr/local/bin/.serveradmin/packet.py")
        if x == ord('7'):
                curses.endwin()
                execute_cmd("/usr/local/bin/.serveradmin/start.py")
        if x == ord('8'):
                curses.endwin()
                execute_cmd("/usr/local/bin/.serveradmin/system.py")
        if x == ord('9'):
                curses.endwin()
                execute_cmd("/usr/local/bin/.serveradmin/network.py")

curses.endwin()