The UNIX and Linux Forums  

Go Back   De Unix-en Linux Forum > Top Forums > Programmeren en Shell Scripting
.
google unix.com



Programmeren en Shell Scripting Post vragen over KSH, CSH, SH, Bash, Perl, PHP, sed, awk en andere shell scripts en shell scripting talen hier.

Meer UNIX en Linux Forum Onderwerpen Misschien vindt u Helpful
Draad Thread Starter Forum Antwoorden Last Post
Voor Loop met Strings als parameters kadishmj Programmeren en Shell Scripting 6 10-06-2008 04:57
Terwijl Loop Logic sambakamba Programmeren en Shell Scripting 4 09-02-2008 05:15 PM
Verzoek tot wijziging script meerdere parameters voor V_fieldid variabele Sammy Programmeren en Shell Scripting 0 03-30-2008 09:08 PM
Parameters in de loop mgirinath Programmeren en Shell Scripting 3 03-18-2008 10:20
Grep op meerdere parameters kingofprussia UNIX voor Dummies Questions & Answers 5 05-21-2007 09:31

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 Zoeken in deze Thread Rate Thread Display Modes
  #1 (permalink)  
Old 09-30-2008
ankimo ankimo is offline
Geregistreerde gebruiker
  
 

Join Date: Sep 2008
Posts: 23
lus logica met meerdere parameters

hi, unix wizards,

Ik heb een vraag over de logica van mijn binnenste lus hieronder. ten eerste, wat ik probeer te doen is om een script te schrijven create_account dat automatisch mysql rekeningen. kan de gebruiker een gebruikersnaam of een group_id als argument (en het script kunnen meerdere argumenten). user_name argumenten moeten simpelweg worden toegevoegd aan een user_file.

groep-id's moeten worden vergeleken met een bestand dat een lijst van group_ids met meerdere user_names per id. Als de groep id bestaat, dan pak alle gebruikers en voeg deze aan de user_file. als de groep-id niet bestaat, print "groep ID niet geldig".

Natuurlijk, het eerste wat ik moet doen is het valideren van het argument - indien het een nummer van een bepaald type, ik neem aan dat het een group_id. anders is het een user_name. btw, "is_num" is een functie te valideren wanneer het argument is een aantal (en dus een group_id).


----------------------------------------------
krijgen arg

  • Als argument is een aantal
    • vervolgens valideren group_id
    • Als num is ongeldig group_id,
      • Vervolgens print "groep ID niet geldig"
    • Als num is geldig group_id
      • vervolgens geparseerd group_id_file en grijper gebruikers 4e veld op
  • anders
    • append aan user_file
----------------------------------------------


mijn code werkt goed als ik nog maar een argument en het maakt niet uit of het argument is geldig group_id, een ongeldige group_id, of een gebruikersnaam. maar als ik gebruik van meerdere parameters, de problemen met mijn code zijn:

  1. user_name argumenten zijn om door de binnenste lus en dient niet te worden omdat ze niet langs de is_num functie criteria
  2. commando's met meerdere parameters lopen alle argumenten meerdere malen
  • bijvoorbeeld, als ik het zeggen ...
    Code:
    create_acct valid_num invalid_num
    ... Ik krijg een lijst met alle geldige gebruikers Keer 2
Ik vraag me af of iemand heeft de tijd om me in de goede richting. bedankt voor je hulp.



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 Mode
  
 

Join Date: Feb 2007
Locatie: Innsbruck, Oostenrijk
Berichten: 1886
Code:
for arg; do
  if is_num $arg; then

   for num; do
     ....
   done
Dit ziet eruit als sh / ksh / bash scripting. De vraag is, wat zijn "arg" en "num"? is dit in een shell-functie of is dit vinden in de "belangrijkste" deel van de shell script?
Closed Thread

Bladwijzers

Thread Tools Zoeken in deze Thread
Zoeken in deze Thread:

Uitgebreid zoeken
Display Modes Beoordeel deze draad
Beoordeel deze draad:

Posting Regels
Jij mag niet Post Nieuwe threads
Jij mag niet na antwoorden
Jij mag niet post attachments
Jij mag niet bewerk uw berichten

BB code is Aan
Smilies zijn Aan
[IMG] code Aan
HTML-code is Uit
Trackbacks zijn Aan
Pingbacks zijn Aan
Refbacks zijn Aan




Alle tijden zijn GMT -4. Het is nu 04:38.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Vertalingen Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
De Unix-en Linux Forums Copyright © 1993-2009. Alle rechten Reserved.Ad Beheer door RedTyger

Content Relevante URL's door vBSEO 3.2.0