![]() |
|
|
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 |
|
|
LinkBack | Резьба Инструменты | Искать в этом Thread | Оценить Thread | Режимы дисплея |
|
||||
|
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 |
| Режимы дисплея | Оценить эту ветку |
|
|