The UNIX and Linux Forums  


Go Back   В UNIX и Linux Форумы > Топ форумы > Shell программирование и сценарии
.
Google unix.com



Shell программирование и сценарии Почтовые вопросы о KSH, CSH, SH, BASH, Perl, PHP, SED, AWK и скрипты оболочки и оболочки скриптовых языков здесь.

Подробнее UNIX и Linux Темы форума можно найти полезные
Нить Резьба для начинающих Форум Ответы Последнее сообщение
Для Петля со строками в качестве параметров kadishmj Shell программирование и сценарии 6 10-06-2008 04:57 AM
Хотя по логике Loop sambakamba Shell программирование и сценарии 4 09-02-2008 05:15 PM
Запрос на изменение сценария перечислить несколько параметров для V_fieldid переменных Сэмми Shell программирование и сценарии 0 03-30-2008 09:08 PM
Параметры в петле mgirinath Shell программирование и сценарии 3 03-18-2008 10:20 AM
Grep по нескольким параметрам kingofprussia UNIX для чайников Вопросы И Ответы 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 Оценить Thread Режимы дисплея
Old 09-30-2008
ankimo ankimo is offline
Зарегистрированный пользователь
  
 

Регистрация: Sep 2008
Сообщений: 23
за цикл логики с несколькими параметрами

привет, Unix волшебники,

У меня есть вопрос по поводу моей логики для внутренней петли ниже. Во-первых, что я пытаюсь сделать, это написать скрипт, который автоматически create_account создает MySQL счетов. пользователь может служить user_name или group_id в качестве аргумента (и сценарий может занять несколько аргументов). user_name аргументы должны быть просто приложил к user_file.

Группа Идентификаторы должны быть сопоставлены в файл, который содержит список group_ids с несколькими user_names за ID. если группа ID существует, а затем захватить всех пользователей и добавить к user_file. если идентификатор группы не существует, печать "Идентификатор группы не действует".

Конечно, первое, что я должен сделать, это проверить аргумент - если его рядом определенного типа, я себя в group_id. еще, что это user_name. BTW, "is_num" представляет собой функцию для проверки, если аргумент является числом (и, следовательно, в group_id).


----------------------------------------------
получить ARG

  • если аргумент является числом
    • Затем проверить group_id
    • если NUM недействителен group_id,
      • Затем печать "Идентификатор группы не действует"
    • если количество действительно group_id
      • Затем разобрать group_id_file и захватить пользователей с 4 по области
  • еще
    • добавить к user_file
----------------------------------------------


моя код хорошо работает, когда я только один аргумент, и не важно, если аргумент является действительным group_id, недействительную group_id или user_name. но когда я использую несколько параметров, то проблем с моим кодекса являются:

  1. user_name аргументы становятся через внутреннюю за цикл и его не следует, поскольку они не проходят is_num функция критериев
  2. Команды с несколькими параметрами запустить все аргументы несколько раз
  • Например, если я скажу ...
    Код:
    create_acct valid_num invalid_num

... я получить список всех пользователей действительны 2 раза Мне интересно, если кто-то время для меня момент в нужном направлении. Спасибо за вашу помощь.




Код:
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

Old 10-09-2008
otheus's Avatar
otheus otheus is offline Forum Staff  
Модератор Ала режим
  
 

Регистрация: Февраль 2007
Место проведения: Инсбрук, Австрия
Сообщений: 1886

Код:
for arg; do
  if is_num $arg; then

   for num; do
     ....
   done

Это выглядит SH / KSH / Bash скрипты. Вопрос заключается в том, какие "аргументы" и "количество"?? это в оболочке функции или это содержится в "основной" части корпуса сценарий?
Closed Thread

Закладки

Резьба Инструменты Искать в этом Thread
Искать в этом Thread:

Расширенный поиск
Режимы дисплея Оценить эту ветку
Оценить эту ветку:

Отправка Правила
Вы не может Начать новую нитей
Вы не может Почтовые ответы
Вы не может Почтовые вложения
Вы не может Редактировать Ваши сообщения

BB код быть На
Смайлики являемся На
[IMG] код На
HTML-код Вне
Trackbacks являемся На
Pingbacks являемся На
Refbacks являемся На




Часовой пояс GMT -4. Текущее время 01:16 PM.


Powered By: Справка, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Язык Переводы на питание от .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
В UNIX и Linux форумы Содержание Copyright © 1993-2009. Все права Reserved.Ad управления по RedTyger

Содержание соответствующие URL-адреса в vBSEO 3.2.0