The UNIX and Linux Forums  


Go Back   O UNIX e Linux Forum > Top Fóruns > Programação Shell Script e
.
google unix.com



Programação Shell Script e Post perguntas sobre ksh, CSH, SH, BASH, Perl, PHP, SED, Awk e outros scripts shell e shell scripts línguas aqui.

Mais UNIX e Linux Fórum Tópicos Você pode achar Helpfull
Fio Thread Starter Fórum Respostas Última postagem
Para Loop com Strings como parâmetros kadishmj Programação Shell Script e 6 10-06-2008 04:57
Embora Loop Logic sambakamba Programação Shell Script e 4 09-02-2008 05:15
Pedido de script para modificar a lista múltiplos parâmetros para V_fieldid variável Sammy Programação Shell Script e 0 03-30-2008 09:08
Parâmetros em loop mgirinath Programação Shell Script e 3 03-18-2008 10:20
Grep sobre vários parâmetros kingofprussia UNIX para Dummies Perguntas & Respostas 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 Pesquisar este Thread Rate Thread Display Modes
  #1 (permalink)  
Old 09-30-2008
ankimo ankimo is offline
Usuário
  
 

Join Date: Sep 2008
Lugares: 23
loop de lógica com vários parâmetros

oi, unix feiticeiros,

Tenho uma pergunta sobre a lógica do meu interior para loop abaixo. primeiro, o que estou tentando fazer é escrever um script chamado create_account que cria automaticamente mysql contas. o usuário pode fornecer um nome_de_utilizador ou um group_id como um argumento (script e pode levar a múltiplos argumentos). nome_usuario argumentos devem ser simplesmente anexada a um user_file.

ids grupo deve ser comparado com um ficheiro que contém uma lista de group_ids com vários user_names por id. se o grupo id existe, então pegue todos os usuários e anexar ao user_file. se o grupo id não existir, imprimir "grupo id não é válida".

Naturalmente, a primeira coisa que tenho a fazer é validar o argumento - se o seu número um de um determinado tipo, eu assumo o seu um group_id. outra, é uma nome_do_usuário. btw, "is_num" é uma função para validar se o argumento é um número (e, portanto, um group_id).


----------------------------------------------
obter arg

  • se argumento é um número
    • então validar group_id
    • Num caso é inválida group_id,
      • em seguida, imprima "grupo id não é válida"
    • Num caso é válida group_id
      • em seguida, analisar group_id_file e usuários de garra em campo 4.
  • diferente
    • anexar a user_file
----------------------------------------------


meu código funciona bem quando tenho apenas um argumento e não importa se o argumento é válido group_id, um inválido group_id, ou um nome_do_usuário. mas quando eu utilizar vários parâmetros, os problemas com o meu código são:

  1. nome_usuario argumentos estão se passou no interior da malha e não deve ser, porque não passar a função is_num critérios
  2. comandos com vários parâmetros correr todos os argumentos várias vezes
  • por exemplo, se eu disser ...
    Código:
    create_acct valid_num invalid_num

... Eu recebo uma lista com todos os usuários válidos 2 vezes Eu me pergunto se alguém tem o tempo para me aponte na direcção certa. obrigado pela vossa ajuda.




Código:
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  
Moderador ala Mode
  
 

Join Date: Feb 2007
Local: Innsbruck, Áustria
Mensagens: 1.892

Código:
for arg; do
  if is_num $arg; then

   for num; do
     ....
   done

Isto parece sh / ksh / bash scripting. A pergunta é: o que são "arg" e "num"? está presente em um reservatório ou função é a encontrada na "principal" do shell script?
Closed Thread

Marcadores

Thread Tools Pesquisar este Thread
Pesquisar este Thread:

Pesquisa Avançada
Display Modes Esta taxa Thread
Esta taxa Thread:

Destacamento Regimento
Você não pode postar novas threads
Você não pode postar respostas
Você não pode postar anexos
Você não pode editar suas postagens

BB code é Ligado
Smilies são Ligado
[IMG] código é Ligado
Código HTML é Desligado
Trackbacks são Ligado
Pingbacks são Ligado
Refbacks são Ligado




Todos os horários são GMT -4. A hora é agora 10:38.


Powered by: vBulletinCopyright © 2000 - 2006, Jelsoft Enterprises Limited. Língua Traduções Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
O UNIX e Linux Fóruns Content Copyright © 1993-2009. Todos os Direitos Reserved.Ad Gestão por RedTyger

Content Relevant URLs por vBSEO 3.2.0