![]() |
|
|
google unix.com
|
|||||||
| Forums | S'inscrire | Forum Rules | Liens | Albums | FAQ | Liste des membres | Calendrier | Recherche | Aujourd'hui, les postes | Marquer les forums comme lus |
| De programmation et de script Shell Posez vos questions à propos de KSH, CSH, SH, BASH, PERL, PHP, SED, awk et d'autres scripts shell et les langages de script shell ici. |
Plus d'UNIX et Linux Forum Sujets Vous trouverez peut-être utile
|
||||
| Fil | Thread Starter | Forum | Réponses | Last Post |
| Déplacer de commandement et d'état de sortie problème | visingha | De programmation et de script Shell | 10 | 09-13-2008 09:08 PM |
| Déplacer de commandement et d'état de sortie problème | visingha | UNIX pour les nuls Questions et réponses | 1 | 09-12-2008 03:14 AM |
| le statut de sortie de classe en cours d'exécution java shell unix | mmcds | High Level Programming | 2 | 08-02-2007 11:06 PM |
| contrôle le statut de sortie d'un script shell | kdipankar | De programmation et de script Shell | 2 | 05-09-2006 02:08 AM |
| Problème avec le statut de sortie | diganta | De programmation et de script Shell | 1 | 09-28-2005 09:34 AM |
|
|
LinkBack | Thread Tools | Recherche sur ce Thread | Rate Thread | Modes d'affichage |
|
||||
|
sh recursive sous-shell sortie problème de statut
Salut Je tente de détecter la sortie d'un statut de fonction récursive dont je suis fonctionnant comme un sous-shell. Ci-dessous, je viens de citer une partie du fichier de script shell que je suis désolé sa marche ... encore un peu long fleuve: -- Code:
#!/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
J'ai créé le répertoire suivant dans ma structure de répertoire local: -- XXX fichiers xyz dir \u003d YYY fichiers x1 y1 z1 dir \u003d ZZZ phil fichiers x2 y2 z2 Quand je lance le shell-script-je obtenir de la sortie: -- .//./ XXX / a .//./ XXX / b .//./ XXX / c .//./ 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 Qu'est-ce que je ne comprends c'est pourquoi je ne suis pas d'obtenir le "ERR2 ???". I get err1 parce AddFile retourne 1, mais j'ai été l'espoir d'obtenir ERR2? "Parce que les subshell sort avec la sortie 1. Je suis évidemment manquer quelque chose ici et serait reconnaissant si quelqu'un peut m'aider? Merci Dernière édition par Philp; au 01.07.2009 05:58 AM.. Motif: Ajout de balises de code |
| Bookmarks |
| Thread Tools | Recherche sur ce Thread |
| Modes d'affichage | Rate this thread |
|
|