The UNIX and Linux Forums  
Hej og Velkommen fra USA til UNIX og Linux Forums! Tak for dit besøg og deltager i vores globale samfund.

Go Back   UNIX og Linux Forums > Top Forums > Shell Programmering og Scripting
.
google unix.com



Shell Programmering og Scripting Post spørgsmål om ksh, CSH, SH, Bash, Perl, PHP, SED, AWK og ANDRE shell scripts og Shell scriptsprog her.

Mere UNIX og Linux Forum Emner du måske kan finde Helpful
Tråd Thread Starter Forum Svar Last Post
For Loop med Strings som parametre kadishmj Shell Programmering og Scripting 6 10-06-2008 03:57 AM
Mens Loop Logic sambakamba Shell Programmering og Scripting 4 09-02-2008 04:15 PM
Anmodning om at ændre script til at liste flere parametre for V_fieldid variable Sammy Shell Programmering og Scripting 0 03-30-2008 08:08 PM
Parametre i sløjfe mgirinath Shell Programmering og Scripting 3 03-18-2008 10:20 AM
Grep på flere parametre kingofprussia UNIX for dummyer Spørgsmål & svar 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 Søg denne tråd Rate Thread Display Modes
  #1 (permalink)  
Old 09-30-2008
ankimo ankimo is offline
Registreret Bruger
  
 

Join Date: Sep 2008
Stillinger: 23
for loop logik med flere parametre

hi, UNIX troldmænd,

Jeg har et spørgsmål om logikken i mit inderste for loop nedenfor. først, hvad jeg forsøger at gøre, er at skrive et manuskript kaldet create_account, der automatisk skaber mysql regnskaber. brugeren kan skabe et brugernavn eller en group_id som et argument (og scriptet kan tage flere argumenter). user_name argumenter bør simpelthen være vedlagt en user_file.

gruppe-id'er skal være i forhold til en fil, der indeholder en liste over group_ids med flere user_names pr id. hvis gruppen id eksisterer, håndteringshåndtag alle brugere og append til user_file. hvis gruppen id ikke eksisterer, print "gruppe-id ikke gyldig".

selvfølgelig det første, jeg skal gøre, er at validere argument - hvis et antal af en bestemt type, jeg går ud fra dets en group_id. andet, er det en user_name. BTW, "is_num" er en funktion til at validere hvis argumentet er et tal (og dermed en group_id).


----------------------------------------------
get arg

  • Hvis argumentet er et tal
    • derefter validere group_id
    • hvis num er ugyldig group_id,
      • derefter udskrive "gruppe-id ikke gyldig"
    • hvis num er gyldigt group_id
      • derefter parse group_id_file og håndteringshåndtag brugere fra 4. felt på
  • anden
    • append til user_file
----------------------------------------------


min kode virker godt, når jeg har kun et argument og det gør ikke noget hvis argumentet er gyldigt group_id, en ugyldig group_id eller en user_name. men når jeg bruger flere parametre, problemer med min kode er:

  1. user_name argumenter får passeret gennem den indvendige for loop og bør ikke være, fordi de ikke kan passere de is_num funktion kriterier
  2. kommandoer med flere parametre køre alle argumenter flere gange
  • for eksempel, hvis jeg siger ...
    Code:
    create_acct valid_num invalid_num
    ... Jeg får en liste med alle de gyldige brugere gange 2
Jeg spørger mig selv, hvis nogen har tid til at punkt mig i den rigtige retning. tak for din hjælp.



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  
Redaktør ala Mode
  
 

Join Date: Feb 2007
Sted: Innsbruck, Østrig
Stillinger: 1884
Code:
for arg; do
  if is_num $arg; then

   for num; do
     ....
   done
This looks like sh / ksh / bash scripting. Spørgsmålet er, hvad er "arg" og "num"?? er dette på en shell-funktion eller er dette findes i de "vigtigste" del af råtanken script?
Closed Thread

Bogmærker

Thread Tools Søg denne tråd
Søg denne tråd:

Avanceret søgning
Display Modes Bedøm denne tråd
Bedøm denne tråd:

Udstationering Regler
Du kan ikke post nye tråde
Du kan ikke post svar
Du kan ikke post vedhæftede filer
Du kan ikke redigere dine indlæg

BB-kode er
Smilies er
[IMG] koden er
HTML-koden er Slukket
Trackbacks er
Pingbacks er
Refbacks er




Alle tidspunkter er GMT -4. Den tid er nu 07:24 AM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Oversættelser Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX og Linux Forums Content Copyright © 1993-2009. Alle rettigheder Reserved.Ad Management ved RedTyger

Content Relevant webadresser ved vBSEO 3.2.0