hemo Skrevet 13. april 2005 Del Skrevet 13. april 2005 Eg er ingen programmerar, men fekk plutseleg lyst på dette: Ei løysing (script?) som kan opna ei mal-fil (tekst) og erstatta tekststrenger for så å lagra fila. Målet er å script-konfigurera ein ruter som kan ta i mot config i form av ein tekstfil med ftp. Det er då IP, GW og MASK som skal endrast i tekstfila, men eg vil gjer det automatisk. Anten med ein kommando som dette: script 192.168.1.20 192.168.1.1 255.255.255.0 eller ved at scriptet stiller spørsmål. Eller vent? Kunne heile tekstfila vert ein del av scriptet? Køyr skriptet, svar på tre spørsmål og vips får du ut ei ferdig config-fil? Hmm... Lenke til kommentar
zeitgeist Skrevet 13. april 2005 Del Skrevet 13. april 2005 (endret) Hvis du vil prøve Python, så har du scriptet her. http://www.python.org/download/ Lagre som f.eks cfg.py ED: Men du ønsket kanskje at scriptet skulle snakke FTP direkte med router? Det går også. Men du må gi lyd fra deg i så fall ;-) #!/usr/bin/env python # -*- coding: UTF-8 -*- # # Genrerer config-fil import sys # Config innhold skrives her, _xxx_ erstattes CONFIG_TEMPLATE=""" _IP_ _GATEWAY_ _MASK_ """ # Skriver ut usagesinfo def usage(): msg =""" CFG genererer config fil bla bla usage: CFG [interaktiv usage] CFG <ip adresse> <subnettmaske> <gateway> NB! Denne rekkefølge! CFG -i <ip adresse> -m <subnettmaske> -g <gateway> NB! Rekkefølge likegyldig! """ sys.exit(msg) # Parser argumenter def parse_args(power = 0): try: sa = sys.argv if power: return sys.argv[1], sys.argv[2], sys.argv[3] else: for arg in sa: if arg.lower() == '-h': usage() if arg.lower() == '-i': ip = sa[sa.index(arg) + 1] elif arg.lower() == '-m': mask = sa[sa.index(arg) + 1] elif arg.lower() == '-g': gw = sa[sa.index(arg) + 1] return ip, mask, gw except IndexError: sys.exit('Ugyldige argumenter') # eval args (hvis arg, parse dem, hvis ikke, interaktiv modus) if len(sys.argv) == 7: ip, mask, gw = parse_args() elif len(sys.argv) == 4: ip, mask, gw = parse_args(1) elif len(sys.argv) > 1: usage() else: print "Oppgi konfigurasjonsparametre\n" ip = raw_input("IP adresse: ") mask = raw_input("Subnettmaske: ") gw = raw_input("Gateway: ") # søk erstatt CONFIG_TEMPLATE = CONFIG_TEMPLATE.replace('_IP_', ip.strip()) CONFIG_TEMPLATE = CONFIG_TEMPLATE.replace('_MASK_', mask.strip()) CONFIG_TEMPLATE = CONFIG_TEMPLATE.replace('_GATEWAY_', gw.strip()) # skriv ut til skjerm print CONFIG_TEMPLATE #skriv ut til fil file("config.txt", 'w+').write(CONFIG_TEMPLATE) Endret 15. april 2005 av zeitgeist Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå