![]() |
|
|
google unix.com
|
|||||||
| Fórumok | Regisztráció | Fórum Szabályok | Linkek | Albumok | GYIK | Tagok listája | Naptár | Keres | Mai hozzászólások | Megjelöl Fórumok Olvas |
| Shell programozás és Scripting Post kérdések KSH, CSH, SH, Bash, Perl, PHP, SED, AWK ÉS EGYÉB shell szkriptek és shell script nyelvek itt. |
Több, UNIX és Linux fórum témák Ön által talált Hasznos
|
||||
| Szál | Thread Starter | Fórum | Válaszok | Utolsó hozzászólás |
| Áthelyezés parancs és kilépési állapot probléma | visingha | Shell programozás és Scripting | 10 | 09-13-2008 09:08 PM |
| Áthelyezés parancs és kilépési állapot probléma | visingha | A UNIX a dummies Kérdések és válaszok | 1 | 09-12-2008 03:14 AM |
| exit status futó Java classpath UNIX shell | mmcds | Magas szintű Programozás | 2 | 08-02-2007 11:06 PM |
| ellenőrzésére exit status egy shell script | kdipankar | Shell programozás és Scripting | 2 | 05-09-2006 02:08 AM |
| Probléma a Kilépési | diganta | Shell programozás és Scripting | 1 | 09-28-2005 09:34 AM |
|
|
LinkBack | Téma eszközök | Keresés a téma | Rate Thread | Megjelenítési módok |
|
||||
|
sh rekurzív sub-shell exit status probléma
Szia
Próbálom felismerni a kilépési státuszát egy rekurzív függvény, amely Én futás, mint a sub-shell. Az alábbiakban felsorolt már része a shell szkript, hogy én vagyok futás ... sajnálom, hogy még egy kicsit hosszú kifulladt: -- Kód:
#!/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 az XYZ kép dir \u003d YYY fájlok x1 y1 z1 dir \u003d ZZZ fájlok phil x2 y2 z2 Mikor ÉN fuss a shell-script I get the output: -- .//./ XXX / a .//./ XXX / b .//./ XXX / c .//./ XXX/YYY/x1 .//./ XXX/YYY/y1 .//./ XXX/YYY/z1 .//./ XXX / NN / ZZZ / phil ERR1 RET \u003d 0! \u003d 1 ERR3 RET \u003d 0! \u003d 1 ERR3 OK What I dont ért van, miért nem kap a "ERR2 ???". Kapok ERR1 ki mert addFile értéke 1, de reméltem, hogy kap ERR2??? Ki, mert a alhéj majd kilép az exit 1. Én természetesen hiányzik valami itt vagyok, és hálás lenne, ha valaki tud segíteni? Köszönöm Last edited by philp; 01-07-2009 at 05:58 AM.. Ok: Added kód tags |
| Könyvjelzõk |
| Téma eszközök | Keresés a téma |
| Megjelenítési módok | Rate this thread |
|
|