The UNIX and Linux Forums  


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



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

Подробнее UNIX и Linux Темы форума можно найти полезные
Нить Резьба для начинающих Форум Ответы Последнее сообщение
Переместите командования и выход состояния проблемы visingha Shell программирование и сценарии 10 09-13-2008 09:08 PM
Переместите командования и выход состояния проблемы visingha UNIX для чайников Вопросы И Ответы 1 09-12-2008 03:14 AM
выезд статус работает Java CLASSPATH В Unix оболочка mmcds Программирования высокого уровня 2 08-02-2007 11:06 PM
Проверка состояния выхода скрипт kdipankar Shell программирование и сценарии 2 05-09-2006 02:08 AM
Проблема с выходом состояния diganta Shell программирование и сценарии 1 09-28-2005 09:34 AM

 
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 01-06-2009
philp philp is offline
Зарегистрированный пользователь
  
 

Регистрация: Январь 2009
Сообщений: 2
SH рекурсивном югу от скорлупы выхода состояния проблемы

Привет
Я пытаюсь определить статус выхода из рекурсивной функции, которые я работает в качестве одного из подпунктов корпуса. Ниже я перечислил часть корпуса скрипт, что я работает ... жаль его еще немного долго наматывается: --


Код:
#!/bin/sh

addFile()
{
  fileName="${1##*/}"           # Extract filename from path.
  if [ $fileName == "phil" ]
  then
    return 1 #Kick off error...
  else
    return 0
  fi
}

addCommitFiles()
{
  # Traverse to database directory or below
  cd "$topDir/$1"
  if [ $? != 0 ]
  then
    echo "topDir error $topDir/$1"
    exit 1 # Treat as fatal error.
  fi

  # List all files/dirs in this directory.
  ls | while read i
  do
    # Check if directory.
    if [ -d "$i" ]
    then
      # Pass in full relative path to topDir.
      ( addCommitFiles "$1/$i" )
      ret1=$?   # This is never non-zero???
      echo "RET=$ret1 != 1"
      if [ $ret1 != 0 ]
      then
        echo "ERR2???"
        exit 1 # Treat as fatal error.
      fi
      echo "ERR3"
    else
        echo "${rootDir}/$1/${i}"
        addFile "$1/$i"
        if [ $? != 0 ]
        then
          echo "ERR1"
          exit 1 # We get this error and would exoect 
        fi
    fi
  done
  exit 0
}

  # Main
  usrNam="XXX"
  topDir=`pwd`
  rootDir="./"

  (addCommitFiles "./$usrNam")
  if [ $? != 0 ]
  then
    echo "ERROR"
  else
    echo "OK"
  fi

Я создал следующую структуру каталогов, в моей локальной директории: --
XXX
Файлы XYZ
реж \u003d YYY
файлы X1 Y1 Z1
реж \u003d ZZZ
Файлы Фил X2 Y2 Z2

Когда я запускаю корпуса скрипта я получаю на выходе: --
.//./ XXX / A
.//./ XXX / B
.//./ XXX / с
.//./ XXX/YYY/x1
.//./ XXX/YYY/y1
.//./ XXX/YYY/z1
.//./ XXX / YYY / ZZZ / Phil
ERR1
RET \u003d 0! \u003d 1
ERR3
RET \u003d 0! \u003d 1
ERR3
OK

То, что я понимаю, Dont поэтому я не получите "ERR2 ???". Я получаю ERR1 из-за addFile возвращает 1, но я надеялся получить ERR2??? ", Поскольку дочерняя затем выходов с выходом 1.
Я, безусловно AM отсутствует то здесь и будет признателен, если кто может помочь?

Спасибо

Последний раз редактировалось philp; на 01-07-2009 05:58 AM.. Причина: Добавлена кодекса теги
 

Закладки

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

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

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

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




Часовой пояс GMT -4. Текущее время 10:37 AM.


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