Anzeige:
Ergebnis 1 bis 9 von 9

Thema: die leidliche IP

  1. #1
    Registrierter Benutzer
    Registriert seit
    19.04.2001
    Ort
    Sonneberg
    Beiträge
    38

    die leidliche IP

    hi
    ich bin am überlegen , aber komme eifach nicht drauf.
    Ich kann die IP sdauber auslesen und in eine datei ablegen

    sbin/ifconfig ppp0 | grep inet | cut -d : -f 2 | cut -b1-14 > ip.txt

    Mie oder mit welchen Befehl kann ich diese Nummer an einer Stele mittem im Text platzieren ?
    ...so das halt dann http://XXX.XXX.XXX.XXX/home/test..... da steht.


    AMD 1800+
    265 Ram
    3HD 1x 6GB 1x 9GB+1x1GB_SCSI
    CD-Rom
    SCSIBrenner 8/24
    Microtek-Sanner SCSI
    Epson 440 Drucker
    T-DSL
    Kernel 2.4.18 Eigenbau

  2. #2
    Administrator Avatar von anda_skoa
    Registriert seit
    17.11.2001
    Ort
    Graz, Österreich
    Beiträge
    5.477
    IP=$(/sbin/ifconfig ppp0 | grep inet | cut -d : -f 2 | cut -b1-14)

    Ciao,
    _
    Qt/KDE Entwickler
    Debian Benutzer

  3. #3
    Registrierter Benutzer
    Registriert seit
    19.04.2001
    Ort
    Sonneberg
    Beiträge
    38
    Ach so ..... das IP=$ macht IP zu der "IP" die ich dann weiter weim erstellen einer HTML als verwenden kann.
    So einfach ?
    AMD 1800+
    265 Ram
    3HD 1x 6GB 1x 9GB+1x1GB_SCSI
    CD-Rom
    SCSIBrenner 8/24
    Microtek-Sanner SCSI
    Epson 440 Drucker
    T-DSL
    Kernel 2.4.18 Eigenbau

  4. #4
    Registrierter Benutzer Avatar von phate
    Registriert seit
    14.02.2003
    Beiträge
    149
    Hi Sachse,

    also wenn ich Dich richtig verstehe, würde ich das folgendermassen machen (ACHTUNG: ohne fehlerprüfung, die musste dann noch selber dazubasteln)
    Code:
    #!/usr/bin/perl
    
    my $file = "foo.html";
    my $tmpfile = "/tmp/$$bar.html";
    
    open(PROC_IFCFG, "/sbin/ifconfig eth0|");
    
    while (<PROC_IFCFG>)
    {
        $ip = $1 if /inet [aA]ddr(?:esse)?:([^ ]+)/;
    }
    
    close(PROC_IFCFG);
    
    open(FILE, "$file");
    open(TMPFILE, ">$tmpfile");
    
    while(<FILE>)
    {
        s#http://[^/]*/home/test#http://$ip/home/test#;
        print TMPFILE;
    }
    
    close(FILE);
    close(TMPFILE);
    
    rename($tmpfile, $file);
    Ersetzt in der Datei die Du durch $file spezifizierst alle Vorkommnisse von http://irgendwas/home/test mit http://<ausgeleseneIP>/home/test. Das ganze wird in eine temporäre geschrieben die am Ende über die Ursprungsdatei geschoben wird. Kleine Anmerkung: hier funktioniert rename nicht, wenn die /tmp auf ner anderen Partition gemountet ist, als das Verzeichnis in dem die zu bearbeitende Datei liegt. Dann auf ne andere Stelle für die temporäre Datei oder auf system(mv, ..) umsteigen.

    hth,

    phate

    EDIT: Das ganze geht natürlich von einer bereits existierenden Datei aus, willst Du ne kleine on-the-fly erstellen, greif zu andas methode

  5. #5
    Administrator Avatar von anda_skoa
    Registriert seit
    17.11.2001
    Ort
    Graz, Österreich
    Beiträge
    5.477
    Original geschrieben von Sachse
    Ach so ..... das IP=$ macht IP zu der "IP" die ich dann weiter weim erstellen einer HTML als verwenden kann.
    So einfach ?
    Das $() ist in einem Bash Script die Auswetung eines Befehls.

    In sh Scripten, wo sh kein Symlink auf bash ist, muss man da Backticks nehmen
    Code:
    Variable=`befehl`
    Qt/KDE Entwickler
    Debian Benutzer

  6. #6
    Registrierter Benutzer
    Registriert seit
    19.04.2001
    Ort
    Sonneberg
    Beiträge
    38
    hi ich habs jetzt mal so gemacht:
    ------------------------------------------------------------------------------------------------------------------------------------------
    #!/bin/bash
    IP=$(/sbin/ifconfig ppp0 | grep inet | cut -d : -f 2 | cut -b1-14)
    echo
    "<html>

    <head><title>Aktuelle Daten von `hostname`</title></head>
    <body>
    <br>
    <br>
    Technical referense:<br>
    Hostname: `hostname`<br>
    Linux: `uname -a`<br>
    <h2>Uptime: `uptime` </h2>
    <br>
    <br>
    P<h1>IP-Adresse: $ </h1>
    <ul type=square>
    <li><h2>For connecting with your web-browser, try the direct link</h2></li>
    <ul type=disc>
    <li><a href="http://$IP"><h2>http://mein Rechner zuhause</h2></a></li>
    </ul>
    <br><br>
    <h3>This file was automaticaly generated at `date`.</h3>
    </body>
    </html>" > index.html

    -------------------------------------------------------------------------------------------------------------------------------

    er zeigt mir in der console alles richtig an , nur in die index speichert er mir das nicht ab ????

    ----------------------------------------------------------------------------------------------------------------------------------

    [ralf@server ralf]$ bash ./ipmake

    ./ipmake: line 25: <html>

    <head><title>Aktuelle Daten von server.home</title></head>
    <body>
    <br>
    <br>
    Technical referense:<br>
    Hostname: server.home<br>
    Linux: Linux server.home 2.4.20-9 #1 Wed Apr 2 13:24:44 EST 2003 i686 athlon i386 GNU/Linux<br>
    <h2>Uptime: 16:44:24 up 7:12, 5 users, load average: 0.08, 0.15, 0.17 </h2>
    <br>
    <br>
    P<h1>IP-Adresse: $ </h1>
    <ul type=square>
    <li><h2>For connecting with your web-browser, try the direct link</h2></li>
    <ul type=disc>
    <li><a href=http://217.82.171.211><h2>http://mein Rechner zuhause</h2></a></li>
    </ul>
    <br><br>
    <h3>This file was automaticaly generated at Sam Mai 24 16:44:24 CEST 2003.</h3>
    </body>
    </html>: Datei oder Verzeichnis nicht gefunden

    --------------------------------------------------------------------------------------------------------------------------------------


    woran kann das liegen ? die index.html gibt es und die Rechte hab ich auch .
    AMD 1800+
    265 Ram
    3HD 1x 6GB 1x 9GB+1x1GB_SCSI
    CD-Rom
    SCSIBrenner 8/24
    Microtek-Sanner SCSI
    Epson 440 Drucker
    T-DSL
    Kernel 2.4.18 Eigenbau

  7. #7
    Registrierter Benutzer
    Registriert seit
    19.04.2001
    Ort
    Sonneberg
    Beiträge
    38
    es wird die datei erstellt , aber nichts geschrieben !!
    AMD 1800+
    265 Ram
    3HD 1x 6GB 1x 9GB+1x1GB_SCSI
    CD-Rom
    SCSIBrenner 8/24
    Microtek-Sanner SCSI
    Epson 440 Drucker
    T-DSL
    Kernel 2.4.18 Eigenbau

  8. #8
    Administrator Avatar von anda_skoa
    Registriert seit
    17.11.2001
    Ort
    Graz, Österreich
    Beiträge
    5.477
    Der echo Befehl tut nichts, weil er keinen Parameter hat.

    Wenn du einen Befehl in der nächsten Zeile vorsetzen willst, musst du das Ende der Zeile mit einem \ markieren.

    Ciao,
    _
    Qt/KDE Entwickler
    Debian Benutzer

  9. #9
    Registrierter Benutzer
    Registriert seit
    19.04.2001
    Ort
    Sonneberg
    Beiträge
    38
    Ja oder alles hintereinander . :-)

    Danke an alle.
    Geändert von Sachse (24-05-2003 um 21:34 Uhr)
    AMD 1800+
    265 Ram
    3HD 1x 6GB 1x 9GB+1x1GB_SCSI
    CD-Rom
    SCSIBrenner 8/24
    Microtek-Sanner SCSI
    Epson 440 Drucker
    T-DSL
    Kernel 2.4.18 Eigenbau

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •