Shell Script-Hilfe!

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von flappinski, 01.04.2006.

  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. [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...
  2. 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...
  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. Anonymisierungs-Distribution Tails 2.0 wechselt zu Gnome Shell

    Anonymisierungs-Distribution Tails 2.0 wechselt zu Gnome Shell: Tails (The Amnesic Incognito Live System) ist in Version 2.0 erschienen und bringt als Dektopoberfläche eine Gnome-Shell im Classic-Modus mit....
  5. Artikel: Shell Command Injection - Wie fremder Text in das Terminal gelangt

    Artikel: Shell Command Injection - Wie fremder Text in das Terminal gelangt: Man möchte sicher nicht, dass ein Fremder einen Befehl in das Terminal eingibt. Und doch kann es genau dazu kommen, wenn Skripte auf dem System...