The UNIX and Linux Forums  
Hej och välkommen från USA till UNIX och Linux Forum! Tack för ditt besök och gå med i vår globala gemenskapen.

Go Back   UNIX och Linux Forum > Upp Forum > Shell-programmering och Skript
.
google unix.com



Shell-programmering och Skript Post frågor om ksh, CSH, SH, bash, PERL, PHP, sed, awk och andra skalskript och skal skriptspråk här.

Mer UNIX och Linux Forum Ämnen Du kan hitta Helpful
Tråd Thread Starter Forum Svar Senaste Inlägg
För loop med strängar som parametrar kadishmj Shell-programmering och Skript 6 10-06-2008 03:57
Även Loop Logic sambakamba Shell-programmering och Skript 4 09-02-2008 04:15
Begäran att ändra skriptet att lista flera parametrar för V_fieldid rörliga Sammy Shell-programmering och Skript 0 03-30-2008 08:08
Parametrar i loop mgirinath Shell-programmering och Skript 3 03-18-2008 10:20
Grep på flera parametrar kingofprussia UNIX for Dummies Frågor & Svar 5 05-21-2007 08:31

 
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ök i denna tråd Rate Thread Visningslägen
  #1 (permalänk)  
Old 09-30-2008
ankimo ankimo is offline
Registered User
  
 

Join Date: Sep 2008
Inlägg: 23
För loop logik med flera parametrar

Hej, UNIX trollkarlar,

Jag har en fråga om logiken i mitt inre för loop nedan. första, vad jag försöker göra är att skriva ett skript som kallas create_account som automatiskt skapar mysql konton. kan användaren ge ett användarnamn eller en group_id som argument (och manus kan ta flera argument). användarnamn argument borde bara bifogas en user_file.

grupp-ID bör jämföras med en fil som innehåller en förteckning över group_ids med flera user_names per id. Om gruppen id finns och sedan ta alla användare och bifoga till user_file. Om gruppen id finns inte, print "grupp-ID inte giltig".

naturligtvis det första jag måste göra är att validera argument - om ett antal av en viss typ, jag antar att en group_id. annanstans, det är ett användarnamn. btw, "is_num" är en funktion för att kontrollera om argumentet är ett antal (och därmed en group_id).


----------------------------------------------
blir arg

  • Om argumentet är ett antal
    • sedan validera group_id
    • Om antalet är ogiltig group_id,
      • sedan skriva ut "grupp-ID inte giltigt"
    • Om antalet är giltigt group_id
      • sedan analysera group_id_file och ta användare från 4:e området på
  • annan
    • Lägg till user_file
----------------------------------------------


Min kod fungerar bra när jag har bara ett argument och det spelar ingen roll om argumentet är giltigt group_id, ett ogiltigt group_id, eller ett användarnamn. men när jag använder flera parametrar, problem med min kod är:

  1. användarnamn argument får passera genom innerstaden för loop och bör inte eftersom de inte klarar is_num funktion kriterier
  2. kommandon med flera parametrar köra alla argument som flera gånger
  • Till exempel, om jag säger ...
    Kod:
    create_acct valid_num invalid_num
    ... Jag får en lista med alla giltiga användare gånger 2
Jag undrar om någon har tid att peka mig i rätt riktning. tack för din hjälp.



Kod:
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
 

Komihåglista

Thread Tools Sök i denna tråd
Sök i denna tråd:

Avancerad sökning
Visningslägen Betygsätt denna tråd
Betygsätt denna tråd:

Utstationering Regler
Du får inte efter nya trådar
Du får inte efter svar
Du får inte skicka bilagor
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG] kod
HTML-koden är Av
Trackback är
Pingbacks är
Refbacks är




Alla tider är GMT -4. Klockan är nu 03:55.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Översättningar Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX och Linux Forum Innehållet upphovsrättsskyddat © 1993-2009. All Rights Reserved.Ad förvaltning RedTyger

Content Relevant webbadresser från vBSEO 3.2.0