Script inclusive Variablen.

Diskutiere Script inclusive Variablen. im Shell-Skripte Forum im Bereich Programmieren unter Linux/Unix; Hallo Community, Ich lerne gerade Java und arbeite seit kurzem auf einem Linux Rechner. Ich moechte gerne Befehle im Terminal abkuerzen dh...

  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. #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 !
     
  3. #3 diggerdance, 02.12.2011
    diggerdance

    diggerdance Grünschnabel

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

    sinn3r Law & Order
    Moderator

    Dabei seit:
    28.12.2006
    Beiträge:
    2.769
    Zustimmungen:
    2
    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.
     
  5. #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.
     
  6. sinn3r

    sinn3r Law & Order
    Moderator

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

    Die Shebang ist mir natürlich auch aufgefallen. ;)
     
  7. #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?
     
  8. sinn3r

    sinn3r Law & Order
    Moderator

    Dabei seit:
    28.12.2006
    Beiträge:
    2.769
    Zustimmungen:
    2
    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.
     
  9. #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. Python Script Hilfe

    Python Script Hilfe: Hey Leute, bin ganz neu hier und auch das Programmieren fällt mir noch nicht ganz so leicht... hab deswegen mal eine frage und hoffe jemand kann...
  2. Crontab und Scripts - Problem

    Crontab und Scripts - Problem: Hallo Zusammen Ich habe ein Script welches mittels Cronjob ausgeführt werden soll. Gemäss Log wird es auch ausgeführt, jedoch passiert nichts:...
  3. Script kopieren

    Script kopieren: Hallo, ich habe eine Frage: ich schreibe grade ein Unix script und möchte mit einem Befehl, eine bestimmte Bereich von diesem script in einem...
  4. 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....
  5. 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...