Shell Script-Hilfe!

Diskutiere Shell Script-Hilfe! im Shell-Skripte Forum im Bereich Programmieren unter Linux/Unix; Hallo Wolfgang, ich habe flogendes Shell-Script nachgekocht: Beim Original kann ich die Variablen ändern und sie werden dann auch geändert...

  1. #1 flappinski, 01.04.2006
    flappinski

    flappinski Foren As

    Dabei seit:
    31.03.2006
    Beiträge:
    87
    Zustimmungen:
    0
    Hallo Wolfgang,
    ich habe flogendes Shell-Script nachgekocht:
    Beim Original kann ich die Variablen ändern und sie werden dann auch geändert dargestellt. Bei meiner Kopie ist es nötig, die Variablen aus der Datei Switch.in auszulesen, in der Parameter mit jeweilingen Werten drin stehen. Es klappt auch soweit, dass die Werte in den Dialog übernommen werden (Stolz), nur leider kann ich sei zwar verändern, aber sie werden immer wieder auf den Originalwert zurückgesetzt.
    Vielleicht kannst Du ja einen kurzen Blick drauf werfen,
    Danke,
    Stephan


    #! /bin/bash
    # $Id: inputmenu,v 1.4 2003/10/09 22:39:35 tom Exp $
    # 2002 - written by Tobias Rittweiler <tobrit@freebits.de>
    : ${DIALOG=dialog}

    declare -i cnt=0 # eine wundervolle Integer


    declare -a Para # ein nettes Array
    declare -a Value # ein nettes Array

    exec 3<>Switch.in # nutze exec um die Subshell zu vermeiden

    while read V1 V2 V3 ; do # lese Datei zeilenweise
    Para[$cnt]=$V1
    Value[$cnt]=$V2
    let cnt++
    done <&3

    exec 3>&-
    let cnt--

    while [ ${returncode:-99} -ne 1 -a ${returncode:-99} -ne 250 ]; do
    exec 3>&1
    value=$("$DIALOG" --clear --ok-label "Create" \
    --backtitle "An Example for the use of --inputmenu:" \
    --inputmenu "Originally I designed --inputmenu for a \
    configuration purpose. Here is a possible piece of a configuration program. \
    " 20 50 10 \
    "${Para[0]}" "${Value[0]}" \
    "${Para[1]}" "${Value[1]}" \
    ${Para[2]} ${Value[2]} \
    ${Para[3]} ${Value[3]} \
    ${Para[4]} ${Value[4]} \
    2>&1 1>&3 )
    returncode=$?
    exec 3>&-
    case $returncode in
    1)
    "$DIALOG" --clear --backtitle "An Example for the use of --inputmenu:" \
    --yesno "Really quit?" 10 30
    case $? in
    0) break;;
    1) returncode=99;;
    esac
    ;;
    0)
    "$DIALOG" --clear --backtitle "An Example for the use of --inputmenu:" \
    --msgbox "$(useradd -d "$home" -u "$uid" -g "$gid" "$user" 2>&1)" 10 40
    ;;
    3)
    value="${value:8:${#value}}"
    tag="${value%:*}"
    item="${value#*: }"

    case "$tag" in
    # ${Para[0]}) ${Value[0]}="$item";;
    "${Para[0]}") break;;
    ${Para[1]}) break;;
    ${Para[2]}) Value[2]="$item";;
    ${Para[3]}) Value[3]="$item";;
    esac

    esac
    done



    Hier ist das Original:

    # 2002 - written by Tobias Rittweiler <tobrit@freebits.de>
    : ${DIALOG=dialog}

    user="$USER" ; uid="$UID" ;
    gid="$GROUPS" ; home="$HOME" ;

    while [ ${returncode:-99} -ne 1 -a ${returncode:-99} -ne 250 ]; do
    exec 3>&1
    value=$("$DIALOG" --clear --ok-label "Create" \
    --backtitle "An Example for the use of --inputmenu:" \
    --inputmenu "Originally I designed --inputmenu for a \
    configuration purpose. Here is a possible piece of a configuration program. \
    " 20 50 10 \
    "Username:" "$user" \
    "UID:" "$uid" \
    "GID:" "$gid" \
    "HOME:" "$home" \
    2>&1 1>&3 )
    returncode=$?
    exec 3>&-
    case $returncode in
    1)
    "$DIALOG" --clear --backtitle "An Example for the use of --inputmenu:" \
    --yesno "Really quit?" 10 30
    case $? in
    0) break;;
    1) returncode=99;;
    esac
    ;;
    0)
    "$DIALOG" --clear --backtitle "An Example for the use of --inputmenu:" \
    --msgbox "$(useradd -d "$home" -u "$uid" -g "$gid" "$user" 2>&1)" 10 40
    ;;
    3)
    value="${value:8:${#value}}"
    tag="${value%:*}"
    item="${value#*: }"

    case "$tag" in
    Username) user="$item";;
    UID) uid="$item";;
    GID) gid="$item";;
    HOME) home="$item";;
    esac

    esac
    done
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
Thema:

Shell Script-Hilfe!

Die Seite wird geladen...

Shell Script-Hilfe! - Ähnliche Themen

  1. Shell: Funktion ls Not found

    Shell: Funktion ls Not found: Hallo zusammen. Ich habe vor längerer Zeit mal mit Ubuntu gearbeitet wo ich auch ein paar befehle im Terminal gelernt habe. Nun zu meinem...
  2. HandbrakeCLI Shell Skript

    HandbrakeCLI Shell Skript: Hallo zusammen und Schöne grüße aus Süddeutschland. Ich versuche mich gerade an einem Skript für Handbrake. Ich bin ein Anfänger , und habe mir...
  3. Shell Skript beschleunigen

    Shell Skript beschleunigen: Hallo zusammen, ich bin neu hier und hab gerade angefangen mich an Schell Skripte zu wagen. Nun hab eine Frage ich hab ein Skript geschrieben und...
  4. [Erledigt] Shell-Skript lässt sich nicht mit Cron ausführen

    [Erledigt] Shell-Skript lässt sich nicht mit Cron ausführen: Hallo, ich hoffe ihr könnt mir helfen. Ich entwerfe im Moment ein Skript, welches den Callmonitor (Telnet) auf meiner FritzBox abfragt und wenn...
  5. Shell-Skript Datum in einer Datai suchen

    Shell-Skript Datum in einer Datai suchen: Hallo zusammen Ich komm eigentlich aus der Klicki-Bunti-Welt von Windows. Seit geraumer Zeit versuche ich meine Künste mit verschiedenen...