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 diesen Ratgeber 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. Telefoninterview (Wie sich auf Bash-Shell-Fragen vorbereiten?)

    Telefoninterview (Wie sich auf Bash-Shell-Fragen vorbereiten?): Hallo Leute :) Ich habe heute eine E-Mail bekommen und zwar für ein Telefoninterview am übermorgen und ich bin da recht nervös, vor allem am...
  2. Unix Shell Funktionen funktionieren nicht

    Unix Shell Funktionen funktionieren nicht: Guten Tag Ich hoffe sehr, dass Sie mir weiterhelfen können, denn ich habe ein riesiges Problem: Zurzeit arbeite ich mit meinem Server an einem...
  3. 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...
  4. 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...
  5. 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...