tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
6
ZUGRIFFE
2579
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Registriert seit
    Mar 2005
    Ort
    Bühl/Baden
    Beiträge
    2.330
    Hi,

    Ich habe hier eine kleine Bitte an euch.

    Ich habe hier folgenden Code
    Code bash:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    
    # # # # # # # # # Start des telnet-daemons
    /usr/sbin/telnetd -l /sbin/ar7login
     
     
    while !(ping -c 1 [url]www.tecchannel.de);[/url] do
    sleep 5
    done
     
    # # # # # # # # # Installation FTP-Server
    cd /var/tmp
    wget [url]http://www.tecchannel.de/download/432803/bftpd.conf[/url]
    wget [url]http://www.tecchannel.de/download/432803/bftpd[/url]
    chmod +x bftpd
    chmod 777 bftpd.conf
     
    # Hier den Usernamen und den Passwort-Hash für den FTP-Server eintragen
    echo "grubi:WkSRDWz8JRxLc:0:0:root:/:null" >> /var/tmp/passwd
    /var/tmp/bftpd -d -c /var/tmp/bftpd.conf
    (Die ganzen URL Tags müssen weg. Das Board mach die einfach dazu.)

    und wollte wissen, ob man ihn so umschreiben kann, dass es

    1. Alles, was unterhalb von "# # # # # # # # # Installation FTP-Server" steht, in eine Datei Namens "startFTP" im Verzeichnis /var/tmp speichert

    2. Es in der while-Schleife prüft, ob der Router eine Verbindung ins Internet hat. Wenn ja, soll es das oben geschriebene Script aufrufen. Wenn nicht, soll es bei 2 oder 3 Fehlversuchen nichts mehr machen. (Evt kommt noch etwas unter diesen Teil, d.h. das Script wird evt noch weiter geführt.)

    Ist das möglich?
    Ich hoffe das könnte einer für mich machen. Ich habe bisher noch kaum (ok, keine) Erfahrung mit der Shell unter Linux.

    Danke schonmal für eure Bemühung.
    Geändert von fanste (12.04.06 um 01:43 Uhr)
     
    Gruß fanste

    Benutze bitte immer die passende Highlight-Tags.(z.B: für PHP [php] [/php] Allgemein: [highlight=SCRIPTSPRACHE]Code[/highlight] )

    Problem gelöst? Dann markiere das Thema bitte als erledigt!
    Beachte bitte die Netiquette. Insbesondere Punkt 15.

  2. #2
    Avatar von Dennis Wronka
    Dennis Wronka Dennis Wronka ist offline Soulcollector
    Registriert seit
    Apr 2002
    Ort
    Hong Kong
    Beiträge
    12.296
    Blog-Einträge
    231
    Ich nehme einfach an, dass all dies in die Datei soll:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    
    #
    cd /var/tmp
    #
    wget http://www.tecchannel.de/download/432803/bftpd.conf
    #
    wget http://www.tecchannel.de/download/432803/bftpd
    #
    chmod +x bftpd
    #
    chmod 777 bftpd.conf
    #
     
    #
    # Hier den Usernamen und den Passwort-Hash für den FTP-Server eintragen
    #
    echo "grubi:WkSRDWz8JRxLc:0:0:root:/:null" >> /var/tmp/passwd
    #
    /var/tmp/bftpd -d -c /var/tmp/bftpd.conf
    Das kannst Du recht einfach bewerkstelligen und zwar indem Du folgendes davor und dahinter setzt:
    Davor:
    Code :
    1
    
    cat >> /var/tmp/startFTP << "EOF"
    Dahinter:
    Code :
    1
    
    EOF

    Mal ein kleines Beispiel:
    Code :
    1
    2
    3
    4
    5
    6
    7
    
    cat > /tmp/test.bla << "EOF"
    Bla
    BlaBla
    BlaBlaBla
    BlaBla
    Bla
    EOF
    Der Inhalt von test.bla sieht nun so aus:
    Zitat Zitat von cat test.bla
    Bla
    BlaBla
    BlaBlaBla
    BlaBla
    Bla
     
    PHP Class Collection - PHP-Klassen fuer PHP 5 (und Teilweise auch fuer PHP 4)
    Updates: Catcher 1.1, FTPConnection 1.2, MultiSQL 1.1, RSS2 1.1, SMTPConnection 1.4
    __________________
    EasyLFS - Hintergrundinformationen, Installationsanleitung, Softwareliste und Download
    EasyLFS Projektthread - Informationen, Status und Diskussion zu meiner Linux-Distribution
    __________________
    Ich bin die Schildkroete, mein Sohn. Ich habe das Universum erschaffen, aber bitte mach mir daraus keinen Vorwurf; ich hatte Bauchschmerzen.
    __________________
    Zitat Zitat von Friedrich Nietzsche
    Man muss noch Chaos in sich haben, um einen tanzenden Stern gebaeren zu koennen.

  3. #3
    Registriert seit
    Mar 2005
    Ort
    Bühl/Baden
    Beiträge
    2.330
    Danke. Das es jetzt so einfach ist, hätte ich nicht gedacht.

    Und wie funktioniert das noch mit der while-Schleife? Also, dass das Script nach 3 Fehlversuhen bei der Verbindungsherstellung einfach das Aufrufen des erstellten Scriptes überspringt und danach alles was noch kommt ausführt?
     
    Gruß fanste

    Benutze bitte immer die passende Highlight-Tags.(z.B: für PHP [php] [/php] Allgemein: [highlight=SCRIPTSPRACHE]Code[/highlight] )

    Problem gelöst? Dann markiere das Thema bitte als erledigt!
    Beachte bitte die Netiquette. Insbesondere Punkt 15.

  4. #4
    deepthroat deepthroat ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Jun 2005
    Beiträge
    8.168
    Hi.

    Warum willst du denn das überhaupt in eine externe Datei schreiben? Nur um es dann vom Skript aus aufzurufen? Was wenn die Datei nicht erstellt bzw. nicht überschrieben werden kann?

    Warum packst du das nicht einfach in eine Funktion innerhalb des Skripts die du dann aufrufst?

    Z.B.
    Code bash:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    
    function start_bftpd() {
      cd /var/tmp
      wget [url]http://www.tecchannel.de/download/432803/bftpd.conf[/url]
      ...
    }
     
    declare -i c=0
     
    while [[ $((c++)) -lt 3 ]] && !(ping -c 1 [url]www.tecchannel.de);[/url] do
      sleep 5
    done;
     
    if [[ $c -le 3 ]]; then
      start_bftpd
    fi
     
    ...

    Die Benutzung eines temporären Verzeichnisses (mittels mktemp -d erstellt) würde sich evtl. anbieten.

    Gruß
    Geändert von deepthroat (12.04.06 um 13:17 Uhr)
     
    If at first you don't succeed, try again. Then quit. No use being a damn fool about it.

  5. #5
    Registriert seit
    Mar 2005
    Ort
    Bühl/Baden
    Beiträge
    2.330
    Das Script wird immer erst Temporär erzeugt. Wenn keine Verbindung besteht, soll ich das Script nacher von Hand ausführen können. Darum soll es in eine Datei geschrieben werden.

    Die Datei, in der das ganze geschieht, wird immer beim booten aufgerufen.
     
    Gruß fanste

    Benutze bitte immer die passende Highlight-Tags.(z.B: für PHP [php] [/php] Allgemein: [highlight=SCRIPTSPRACHE]Code[/highlight] )

    Problem gelöst? Dann markiere das Thema bitte als erledigt!
    Beachte bitte die Netiquette. Insbesondere Punkt 15.

  6. #6
    deepthroat deepthroat ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Jun 2005
    Beiträge
    8.168
    Ich finde das ist noch kein Grund ein Skript zu schreiben welches ein anderes Skript erstellt welches man dann aufrufen kann. Dann kann man ja gleich das erste Skript nutzen denn das enthält ja zwangsweise das zweite (könnte man ja mit Parametern machen bzw. man schaut ob es interaktiv aufgerufen wurde oder nicht.

    Deine Fragen sollten dann ja eigentlich beantwortet sein und du kannst das Thema auf erledigt setzen, oder?!

    Gruß
     
    If at first you don't succeed, try again. Then quit. No use being a damn fool about it.

  7. #7
    Registriert seit
    Mar 2005
    Ort
    Bühl/Baden
    Beiträge
    2.330
    Ich habe es nun mit eurer Hilfe hinbekommen. Danke.
     
    Gruß fanste

    Benutze bitte immer die passende Highlight-Tags.(z.B: für PHP [php] [/php] Allgemein: [highlight=SCRIPTSPRACHE]Code[/highlight] )

    Problem gelöst? Dann markiere das Thema bitte als erledigt!
    Beachte bitte die Netiquette. Insbesondere Punkt 15.

Ähnliche Themen

  1. zip per shellscript erstellen
    Von kattzze im Forum Linux & Unix
    Antworten: 5
    Letzter Beitrag: 21.06.10, 12:53
  2. Probleme mit Shellscript
    Von FaNo86 im Forum Linux & Unix
    Antworten: 1
    Letzter Beitrag: 08.05.07, 15:46
  3. Variable in Shellscript
    Von blackbirdthefirst im Forum Sonstige Sprachen
    Antworten: 1
    Letzter Beitrag: 22.11.06, 01:41
  4. Hilfe bei Shellscript
    Von DonMarkeZ im Forum Linux & Unix
    Antworten: 10
    Letzter Beitrag: 02.04.06, 20:59
  5. Shellscript -> Mailversand
    Von Gottox im Forum Linux & Unix
    Antworten: 2
    Letzter Beitrag: 13.01.04, 10:54