Script inclusive Variablen.

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von diggerdance, 02.12.2011.

  1. #1 diggerdance, 02.12.2011
    diggerdance

    diggerdance Grünschnabel

    Dabei seit:
    02.12.2011
    Beiträge:
    6
    Zustimmungen:
    0
    Hallo Community,
    Ich lerne gerade Java und arbeite seit kurzem auf einem Linux Rechner. Ich moechte gerne Befehle im Terminal abkuerzen dh mehrere Befehle durch einen Befehl im Terminal ausfuehren. Sei also folgendes der code, den ich bis jetzt habe:

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

    #!/bin/sh --

    inPath() {
    for i in ${PATH//:/ };
    do [ -x "$i/$1" ] && return 0; done; }

    wlan=wlan0;
    a=fdown $wlan;
    b=iwconfig $wlan mode monitor;
    c=ifup $wlan;

    for x in $a $b $c;
    do inPath "$x" || exit 1; done

    --------
    ich hab das gefuehl, da stimmt was mit der Variablendeklaration nicht. Koennt ihr mir helfen damit ich es mit chmod aufuehrbar machen kann?

    Vielen Dank im Voraus
    diggerDance
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. #2 faber38, 02.12.2011
    faber38

    faber38 Tripel-As

    Dabei seit:
    11.06.2006
    Beiträge:
    157
    Zustimmungen:
    0
    Ort:
    Elsdorf
    upss. da hab ich etwas falsch verstanden !
     
  4. #3 diggerdance, 02.12.2011
    diggerdance

    diggerdance Grünschnabel

    Dabei seit:
    02.12.2011
    Beiträge:
    6
    Zustimmungen:
    0
    was hast du falsch verstanden?
     
  5. sinn3r

    sinn3r Law & Order
    Moderator

    Dabei seit:
    28.12.2006
    Beiträge:
    2.764
    Zustimmungen:
    0
    Ort:
    Wentorf
    Was genau willst du da jetzt tun?

    Java oder Bash?

    Und die Ausführbarkeit hat erstmal nichts mit dem Inhalt tun, du kannst auch ein MP3-File ausführbar machen.
     
  6. #5 marcellus, 02.12.2011
    marcellus

    marcellus Kaiser

    Dabei seit:
    09.05.2007
    Beiträge:
    1.392
    Zustimmungen:
    0
    @sinn3r wenn es mit #!/bin/sh anfängt würde ich fast annehmen, dass es ein sh skript sein soll.


    Bitte verwende in Zukunft
    Code:
     tags. Das grenzt sourcecode mehr vom Text ab.
    
    Wenn du wirklich ein sh skript, statt einem bash skript machen willst solltest du [code]export a=b
    verwenden. (das hab ich aber nur geschrieben, dass du gleich siehst wie viel schöner code tags sind)

    Die Strichpunkte solltest du weglassen, wenn du nicht mehrere Befehle in einer Zeile schreiben willst, was du nicht solltest.

    Und bitte schreib nicht mehrere Befehle in einer Zeile.

    Wenn du das script ausführbar machen willst schreib
    Code:
    chmod +x SCRIPT
    , wobei SCRIPT der Pfad zu deinem Skript ist.
     
  7. sinn3r

    sinn3r Law & Order
    Moderator

    Dabei seit:
    28.12.2006
    Beiträge:
    2.764
    Zustimmungen:
    0
    Ort:
    Wentorf
    Wenn aber explizit Java erwähnt wird, darf man doch nachfragen?

    Die Shebang ist mir natürlich auch aufgefallen. ;)
     
  8. #7 diggerdance, 02.12.2011
    diggerdance

    diggerdance Grünschnabel

    Dabei seit:
    02.12.2011
    Beiträge:
    6
    Zustimmungen:
    0
    Erstmal danke für eure Antworten und "Sorry" für die fehlende Präzision und schlechte Formatierung .. ich arbeite daran. Also Java habe ich nur erwähnt um mein mageres Vorwissen zu schildern :) Es geht primär um ein sh-script unter ubuntu 11.10.

    Der Befehl:
    Code:
    chmod +x SCRIPT
    
    funktioniert .. Ich hab dummerweise - statt + geschrieben -> mybad

    Was ich machen nun machen möchte:

    Ich möchte beispielsweise die folgenden Terminal-Befehle
    nacheinander über einen einzigen Sudo-Befehl ausführen.

    Code:
    sudo ifconfig wlan0 down
    sudo iwconfig wlan0 mode monitor
    sudo ifconfig wlan0 up 
    
    Wie würde man so ein Script schreiben wenn man wlan0 als Variable ansieht, die man vorher ab Tastatur ausliest?
     
  9. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  10. sinn3r

    sinn3r Law & Order
    Moderator

    Dabei seit:
    28.12.2006
    Beiträge:
    2.764
    Zustimmungen:
    0
    Ort:
    Wentorf
    Code:
    #!/bin/sh
    INTERFACE=$1
    ifconfig $INTERACE down
    iwconfig $INTERFACE mode monitor
    ifconfig $INTERFACE up
    Aufruf als Root (z.B. via 'sudo') mit einem Parameter. 'sudo einskript.sh wlan0'

    Was $1 für eine besondere Variable in der Bash ist (und das es noch viele mehr davon gibt), verrät dir ein Grundlagentutorial deiner Wahl. ;)

    Lässt sich natürlich noch mit tausend Raffinessen und Abfragen verfeinern, da führen viele Wege nach Rom.
     
  11. #9 diggerdance, 02.12.2011
    diggerdance

    diggerdance Grünschnabel

    Dabei seit:
    02.12.2011
    Beiträge:
    6
    Zustimmungen:
    0
    sehr nice! vielen dank! habs mir schwieriger vorgestellt XD
     
Thema:

Script inclusive Variablen.

Die Seite wird geladen...

Script inclusive Variablen. - Ähnliche Themen

  1. Bräuchte Hilfe bei Backupscript mittels Bash und cronjob

    Bräuchte Hilfe bei Backupscript mittels Bash und cronjob: Es soll für bestimmte Ordner Archivierung aller Dateien(Logfiles), die älter als 30 Tage sind machen. Am besten einmal täglich nachts irgendwann....
  2. Bashscript aus Debian6 läuft nicht auf Debian7

    Bashscript aus Debian6 läuft nicht auf Debian7: Hallo an alle, nachdem ich ein Skript von squeeze auf wheezy kopiert habe und ausführte, erschienen gleich wilde Fehlermeldungen, nach denen ich...
  3. Shell Script Problem

    Shell Script Problem: Hallo zusammen, ich arbeite momentan mit einem Plagiat Tool, die ich über Git Bash ausführe. Es wird im Endeffekt ein Link generiert, die ich...
  4. Externes Programm mit Script ausführen?

    Externes Programm mit Script ausführen?: Hallo, ich würde gern ein Script zum klonen von festplatten schreiben z.B. mit dem Programm Mondo Rescue. Ist es möglich externen Programmen...
  5. sh Script zum Autostart

    sh Script zum Autostart: hallo liebe Mitglieder, wenn ich unter Linux eins meiner Shell Skripte im Autostart haben will nutze ich immer die @reboot Funktion im crontab....