The UNIX and Linux Forums  
Bonjour et bienvenu par les États-Unis à la UNIX et Linux Forums! Merci de votre visite et vous joindre à notre communauté mondiale.

Go Back   Les systèmes UNIX et Linux Forums > Top Forums > De programmation et de script Shell
.
google unix.com



De programmation et de script Shell Posez vos questions à propos de KSH, CSH, SH, BASH, PERL, PHP, SED, awk et d'autres scripts shell et les langages de script shell ici.

Plus d'UNIX et Linux Forum Sujets Vous trouverez peut-être utile
Fil Thread Starter Forum Réponses Last Post
Pour les boucles avec les chaînes de caractères comme paramètres kadishmj De programmation et de script Shell 6 10-06-2008 04:57 AM
Si Loop Logic sambakamba De programmation et de script Shell 4 09-02-2008 05:15 PM
Demande de modifier le script à la liste des paramètres multiples pour V_fieldid variable Sammy De programmation et de script Shell 0 03-30-2008 09:08 PM
Les paramètres de la boucle mgirinath De programmation et de script Shell 3 03-18-2008 10:20 AM
Grep sur plusieurs paramètres kingofprussia UNIX pour les nuls Questions et réponses 5 05-21-2007 09: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 Recherche sur ce Thread Rate Thread Modes d'affichage
  #1 (permalink)  
Old 09-30-2008
ankimo ankimo is offline
Registered User
  
 

Join Date: Sep 2008
Posts: 23
boucle logique avec de multiples paramètres

salut, unix assistants,

J'ai une question sur la logique de mon intérieur de la boucle ci-dessous. en premier lieu, ce que j'essaie de faire est d'écrire un script nommé create_account mysql qui crée automatiquement des comptes. l'utilisateur peut fournir une user_name ou un group_id comme un argument (et le script peut prendre plusieurs arguments). user_name arguments devraient tout simplement être ajouté à un user_file.

ids groupe doit être comparé à un fichier qui contient une liste de group_ids avec de multiples user_names par id. si l'identifiant de groupe existe, alors saisir tous les utilisateurs et les joindre à la user_file. si l'identifiant de groupe n'existe pas, print "identifiant de groupe n'est pas valable».

Bien entendu, la première chose que j'ai à faire est de valider la thèse - si c'est un nombre d'un certain type, je suppose que c'est un group_id. d'autre, c'est un user_name. btw, "is_num" est une fonction de valider si l'argument est un nombre (et donc, un group_id).


----------------------------------------------
obtenir arg

  • si l'argument est un nombre
    • puis valider group_id
    • si num group_id est invalide,
      • puis l'imprimer "identifiant de groupe n'est pas valable"
    • est valable si num group_id
      • group_id_file ensuite analyser et saisir les utilisateurs à partir du 4e sur le terrain
  • autre
    • joindre à user_file
----------------------------------------------


mon code fonctionne bien quand je viens d'un argument et il n'est pas question si l'argument est valable group_id, group_id invalide, ou un user_name. mais quand je utiliser plusieurs paramètres, les problèmes avec mon code:

  1. user_name arguments se sont passés par le centre de la boucle et ne devrait pas être parce qu'ils ne passent pas la is_num fonction de critères
  2. commandes avec des paramètres multiples exécuter plusieurs fois tous les arguments
  • Par exemple, si je dit ...
    Code:
    create_acct valid_num invalid_num
    ... i obtenir une liste avec tous les utilisateurs valides 2 fois
Je me demande si quelqu'un a le temps pour moi de point dans la bonne direction. merci pour votre aide.



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  
Modérateur ala mode
  
 

Join Date: Feb 2007
Lieu: Innsbruck, Autriche
Posts: 1886
Code:
for arg; do
  if is_num $arg; then

   for num; do
     ....
   done
Cela ressemble à sh / ksh / bash scripting. La question est de savoir ce que sont "arg" et "num"? est-ce dans une fonction shell, ou est-ce dans la "principale" de la part du script shell?
Closed Thread

Bookmarks

Thread Tools Recherche sur ce Thread
Recherche sur ce Thread:

Recherche avancée
Modes d'affichage Rate this thread
Rate this thread:

Règles de messages
Tu mai pas de nouvelles discussions: nonoui
Tu mai pas envoyer des réponses:
Tu mai pas envoyer des pièces jointes
Tu mai pas modifier vos messages

BB code est Sur
Smilies sont Sur
[IMG] code est Sur
Le code HTML est Hors tension
Trackbacks sont Sur
Pingbacks sont Sur
Refbacks sont Sur




Toutes les heures sont au format GMT -4. Le temps est maintenant 11:19 AM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Traductions Langue Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
Les systèmes UNIX et Linux Forums Content Copyright © 1993-2009. Tous droits Reserved.Ad de gestion par RedTyger

Content Relevant URLs par vBSEO 3.2.0