The UNIX and Linux Forums  
Hallo und herzlich Willkommen aus den Vereinigten Staaten, die UNIX-und Linux-Foren! Vielen Dank für Ihren Besuch und die Teilnahme an unserem Global Community.

Go Back   Die UNIX-und Linux-Foren > Top Foren > Shell Programmierung und Scripting
.
Google unix.com



Shell Programmierung und Scripting Post Fragen zu ksh, csh, sh, bash, Perl, PHP, sed, awk und anderen Shell-Skripte und Shell-Scripting-Sprachen hier.

Mehr UNIX-und Linux-Forum Themen Vielleicht finden Sie hilfreiche
Faden Thread Starter Forum Antworten Last Post
For-Schleife mit Strings als Parameter kadishmj Shell Programmierung und Scripting 6 10-06-2008 03:57 AM
While-Schleife Logic sambakamba Shell Programmierung und Scripting 4 09-02-2008 04:15 PM
Anfrage an Skript ändern, um mehrere Parameter für V_fieldid Variable Sammy Shell Programmierung und Scripting 0 03-30-2008 08:08 PM
Parameter in der Schleife mgirinath Shell Programmierung und Scripting 3 03-18-2008 10:20 AM
Grep auf mehrere Parameter kingofprussia UNIX for Dummies Questions & Answers 5 05-21-2007 08:31 AM

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Thread Tools Suche diesen Thread Rate Thread Anzeige-Modi
  #1 (permalink)  
Old 09-30-2008
ankimo ankimo is offline
Registrierte Nutzer
  
 

Join Date: Sep 2008
Beiträge: 23
Bei loop-Logik mit mehreren Parametern

hi, Unix-Assistenten,

Ich habe eine Frage zu der Logik meiner inneren for-Schleife unten. erste, was ich zu tun versuchen, ist ein Skript namens create_account, dass MySQL automatisch erzeugt werden. Der Benutzer kann ein Benutzername oder eine group_id als Argument hat (und das Script kann mehrere Argumente). user_name Argumente sollten einfach an eine user_file.

Gruppen-IDs sollten verglichen werden, um eine Datei, die eine Liste der group_ids mit mehreren user_names pro ID. wenn die Gruppen-ID vorhanden ist, dann greifen alle Benutzer und die zu der user_file. wenn die Gruppen-ID nicht vorhanden ist, drucken "Gruppen-ID nicht gültig".

natürlich, das erste, was ich zu tun haben, ist das Argument zu validieren - wenn die eine Reihe von einer bestimmten Art, gehe ich davon aus der A-group_id. else, it's a user_name. btw, "is_num" ist eine Funktion, um, wenn das Argument ist eine Zahl (und damit eine group_id).


----------------------------------------------
Sie arg

  • Argument ist, wenn eine Reihe
    • dann Validierung group_id
    • num ist ungültig, wenn group_id,
      • dann drucken "Gruppen-ID nicht gültig"
    • num ist gültig, wenn group_id
      • dann analysieren group_id_file und greifen Benutzer vom 4. Feld
  • sonst
    • Append zu user_file
----------------------------------------------


mein Code funktioniert gut, wenn ich nur ein Argument, und es spielt keine Rolle, ob das Argument gültig ist group_id, eine ungültige group_id oder ein Benutzername. aber wenn ich mehrere Parameter, die Probleme mit meinem Code sind:

  1. user_name Argumente sind immer durch die innere for-Schleife und nicht, weil sie nicht an der is_num Funktion Kriterien
  2. Befehle mit mehreren Parametern laufen alle Argumente mehrere Male
  • zum Beispiel, wenn ich sagen ...
    Code:
    create_acct valid_num invalid_num
    ... Ich bekomme eine Liste mit allen gültigen Benutzer mal 2
Ich frage mich, ob jemand die Zeit um mich in die richtige Richtung. Vielen Dank für Ihre Hilfe.



Code:
for arg; do
  if is_num $arg; then

#----------------------------------------------

   for num; do
      a=$(grep "^c$num:" group_file)

      if [ -z "$a" ]; then
        print "Group ID " $num "is not in group file."
        continue
      fi

      f4=$(echo $a | cut -d: -f4)

      if [ -z "$f4" ]; then
        print "Group ID " $num "does not have any users."
      else
        print $f4 | tr ',' '\n' >> user_list
        continue
      fi
    done

#----------------------------------------------

  else
    echo $arg >> user_list
  fi
done
  #2 (permalink)  
Old 10-09-2008
otheus's Avatar
otheus otheus is offline Forum Staff  
Moderator ala-Modus
  
 

Join Date: Feb 2007
Ort: Innsbruck, Österreich
Beiträge: 1886
Code:
for arg; do
  if is_num $arg; then

   for num; do
     ....
   done
Dies sieht aus wie sh / ksh / bash-Scripting. Die Frage ist, was sind "arg" und "Zahl"? ist dieses in einer Shell-Funktion oder ist dies in der "main" Teil des Shell-Skript?
Closed Thread

Lesezeichen

Thread Tools Suche diesen Thread
Suche diesen Thread:

Erweiterte Suche
Anzeige-Modi Rate this thread
Rate this thread:

Forumregeln
Du möglicherweise nicht neue Themen
Du möglicherweise nicht nach Antworten
Du möglicherweise nicht post-Anlagen
Du möglicherweise nicht bearbeiten Sie Ihre Beiträge

BB-Code ist Auf
Smilies sind Auf
[IMG] Code Auf
HTML-Code ist Aus
Trackbacks sind Auf
Pingbacks sind Auf
Refbacks sind Auf




Alle Zeiten sind GMT -4. Es ist jetzt 02:36 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Ltd. Sprachliche Übersetzungen Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
Die UNIX-und Linux-Foren Content © Copyright 1993-2009. Alle Rechte Reserved.Ad Management von RedTyger

Content Relevant URLs durch vBSEO 3.2.0